这个是客户端代码,用来将ServiceItem这个类序列化后发送给服务器端;ServiceItem.ServiceItem是引用外部的一个程序集;
ServiceItem.ServiceItem service = new ServiceItem.ServiceItem();
service.Address = "172.18.10.5";
service.rentTime = 100;
TcpClient client = new TcpClient("172.18.10.5",9062);
NetworkStream strm = client.GetStream(); object obj = service; formatter.Serialize(strm,obj);
strm.Close();
client.Close(); 这个是服务器端代码,用来接收客户端发来的ServiceItem序列化类。服务器端没有引用ServiceItem.ServiceItem这个程序集。
TcpListener server = new TcpListener(9062);
server.Start(); Console.WriteLine("Begin to listen...");
TcpClient client = server.AcceptTcpClient();
NetworkStream strm = client.GetStream();
IFormatter formatter = new BinaryFormatter(); object obj = formatter.Deserialize(strm);
strm.Close();
server.Stop(); Stream str = new FileStream("C:\\Inetpub\\wwwroot\\bb", FileMode.Create, FileAccess.ReadWrite);
formatter.Serialize(str, obj);
str.Close();
执行到object obj = formatter.Deserialize(strm);时出错,说什么找不到ServiceItem.ServiceItem程序集。我的问题是,上述代码如何改进,才可以以让服务器端不知道客户端序列化的什么类,而通通序列化后放在object obj中?貌似我这个程序必须要在服务器端添加ServiceItem.ServiceItem程序集,可是我不想。
ServiceItem.ServiceItem service = new ServiceItem.ServiceItem();
service.Address = "172.18.10.5";
service.rentTime = 100;
TcpClient client = new TcpClient("172.18.10.5",9062);
NetworkStream strm = client.GetStream(); object obj = service; formatter.Serialize(strm,obj);
strm.Close();
client.Close(); 这个是服务器端代码,用来接收客户端发来的ServiceItem序列化类。服务器端没有引用ServiceItem.ServiceItem这个程序集。
TcpListener server = new TcpListener(9062);
server.Start(); Console.WriteLine("Begin to listen...");
TcpClient client = server.AcceptTcpClient();
NetworkStream strm = client.GetStream();
IFormatter formatter = new BinaryFormatter(); object obj = formatter.Deserialize(strm);
strm.Close();
server.Stop(); Stream str = new FileStream("C:\\Inetpub\\wwwroot\\bb", FileMode.Create, FileAccess.ReadWrite);
formatter.Serialize(str, obj);
str.Close();
执行到object obj = formatter.Deserialize(strm);时出错,说什么找不到ServiceItem.ServiceItem程序集。我的问题是,上述代码如何改进,才可以以让服务器端不知道客户端序列化的什么类,而通通序列化后放在object obj中?貌似我这个程序必须要在服务器端添加ServiceItem.ServiceItem程序集,可是我不想。
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货