你确认服务端和可断使用的序列化方法一样吗?
使用.net提供的这几种:
BinaryFormatter
SoapFormatter
XmlSerializer还是你自己定义的,如果是自己定义的,一定要保证c和s端用的是同一版本的dll
使用.net提供的这几种:
BinaryFormatter
SoapFormatter
XmlSerializer还是你自己定义的,如果是自己定义的,一定要保证c和s端用的是同一版本的dll
解决方案 »
- 怎么把form1 的dataGridView1里某一列显示的值传到form2的一个数组里
- * Copyright (C) 2012 明振居士 版权没有,任意拷贝及使用,但对使用造成的任何后果不负任何责任,互相开源影响,共同进步
- datagridview焦点问题
- 在Word中可输入的特殊字符拷入.cs文件中看不见?
- 关于C#线程的问题
- 关于WebBrowser控件和代理
- 求功能齐全的C# DBHelper Class
- c#里面如何定义一个带单个双引号的字符串,注意是单个双引号,而且在字符串尾部
- 用过XtraGrid的高手进来看看!!!!!~~~~~有几个问题请教大家!!!!
- 面向对象设计类的难点?
- 排序算法——对随机数进行排序
- 高分!在线求高手帮忙解决下小问题!。。帮帮忙!考试急用!谢过了!
不过还是给你一个意见吧你的问题,很有可能是因为粘包了,如果不知道什么是粘包,直接Baidu一下,如何验证这个问题呢1. 首先,你要确保,两个数据包(也就是两个序列化的对象),隔几秒种以上,发送看看会不会出问题,如果不会再接着
2. 然后,连续的发送两个数据包(也就是两个序列化的对象),中间没有任何间隔,这时候就应该会出问题了,如果确实出问题,那就是粘包的问题,应该没有人,是直接把对象序列化,就直接发送的,你还应该要知道,什么叫做协议。如果你明白了我说,给我80分吧
能保证一次把所有数据接收完吗?
比如说你序列化得到了10000个字节,客户端必须在接收完所有字节后才能反序列化。而你每次调用GISTcpClient.Receive后就反序列化,如果不是一次取完10000个字节的话当然会出现异常。
如果可以用NetworkStream就简单很多了,为啥要自己给自己找麻烦呢。