远程反序列化的问题????????
我在客户端序列化了一个对像发到服务端,现在在服务端反
序列化此对像时出现了以下的错误提示(其中
udpP2p是客户端程序集名称) :
Unable to find assembly 'udpP2p, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null'.
部分代码如下:
客户端的:
CC user=new CC() ;
user.S = "i love you";
BinaryFormatter binaryF = new BinaryFormatter();
MemoryStream ms = new MemoryStream(1024);
binaryF.Serialize(ms, user);
ms.Seek(0, SeekOrigin.Begin);
byte[] temp = new byte[(int)ms.Length];
ms.Read(temp, 0, temp.Length);
ms.Close();
sendPoint = new IPEndPoint(IPAddress.Pars("127.0.0.1"),8080);
EndPoint endpoint = (EndPoint)sendPoint;
sendsock.SendTo(temp,endpoint);
服务端的:
byte[] buff=new byte[1024];
listSocket.ReceiveFrom(buff, SocketFlags.None, ref remoteEP);
BinaryFormatter binaryF = new BinaryFormatter();
MemoryStream ms = new MemoryStream(buff, 0, buff.Length, false);
CC user = new CC();
user=(CC)binaryF.Deserialize(ms););(执行到这句出现错误!!!!!!!!!!!!!)
ms.Close();
请问是为何,如何解决???????????????
问题点数:10、回复次数:6Top
1 楼kugua70708()回复于 2006-03-03 21:08:14 得分 0
急等中!!!!!!!!!!!!!!!!!!Top
2 楼ugvihc(maybe good good study, hope day day up!)回复于 2006-05-15 15:05:33 得分 0
我也有这个问题,帮你顶一下,高手帮忙啊Top
3 楼ugvihc(maybe good good study, hope day day up!)回复于 2006-06-12 21:51:35 得分 0
序列化反序列化要求使用同一个程序集里面的对象来进行.
就是说客户端和服务器端的对象来自于同一程序集.
udpP2p, Version=1.0.0.0,
Culture=neutral, PublicKeyToken=null
即是说服务器端也必须使用这个版本的udpP2p程序集.Top
4 楼tjvictor(终于升星了,向两星奋斗)回复于 2006-06-12 22:01:22 得分 0
同一版本的程序集是什么意思?Top
5 楼jackyped(MSN: jpu_jacky@eyou.com)回复于 2006-06-13 13:50:51 得分 0
生成dll前在 AssemblyInfo.cs 文件中指定版本号.
如果版本号相同,就是通一个程序集.如果不同,反序列化就会找不到类型
//
// 程序集的版本信息由下列 4 个值组成:
//
// 主版本
// 次版本
// 内部版本号
// 修订号
//
// 您可以指定所有这些值,也可以使用“修订号”和“内部版本号”的默认值,方法是按
// 如下所示使用 '*':
[assembly: AssemblyVersion("1.0.2006.0316")]
Top
6 楼xiaojiao52()回复于 2006-06-13 14:10:53 得分 0
学习中...
====CSDN 小助手 V2.5 2005年11月05日发布====
CSDN小助手是一款脱离浏览器也可以访问Csdn论坛的软件
界面:http://blog.csdn.net/Qqwwee_Com/archive/2005/11/05/523395.aspx
下载:http://szlawbook.com/csdnv2
Top




