Code Bye

C#写的一个关于简单的聊天系统

该聊天分为客户端和服务器端
出现的问题:客户端向服务器端发送文件时:txt文件、rar文件、docx文档文件传输过去都是正常的,但是excel表格文件传输过去后出现打不开的现象

求指导?
服务器端代码:
客户端代码:
代码链接:上传了还没显示出来。
解决方案

50

Receive(Buffer) 函数结果返回的是实际收到的字节数。例如说客户端一次发8000个字节,服务器端一次 Receive 可能收到8000个字节,也可能是7600个,甚至也可能是25000个(原因是有前个数据的粘包)。你在本地机器上测试是收到了8000个字节,并不代表着你用局域网里另外一台机器做客户端机器来测试时就不存在分包。而你的代码并没有处理分包、粘包。
另外,假设对方发送了8000个字节,你不能认为它等同于发送了2M字节(尽管8000字节后边的字节都是0)。假如你不关心实际对方发送了多少字节数,怎么控制逻辑呢?
最后,本人不知道你的 Var.accSck 是什么。在逻辑上它很有可能产生冲突的。你贴出的代码无法说明。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#写的一个关于简单的聊天系统