【发布时间】:2012-04-02 07:08:26
【问题描述】:
我想做一些客户端和服务器来共享文件。我有一个问题,因为 TCP“消息”被合并了,尽管我设置了我想发送多少字节和接收多少字节。
我看了看,问题发生在我在第一个“消息”中发送文件名,然后(在 new Send() 中)我发送文件内容时,例如。
我通过在当前每个接收数据包后发送反馈消息来修复它。
有没有更好的方法?
【问题讨论】:
-
Data loss TCP IP C# 的可能重复项
-
我做了类似
string msg = "test"; byte[] buf = new byte[1024]; byte[] prefix = BitConverter.GetBytes(msg.Length); byte[] data = Encoding.UTF8.GetBytes(msg); Array.Copy(prefix, 0, buf, 0, prefix.Length); Array.Copy(data, 0, buf, prefix.Length, data.Length); socket.Send(buf);的操作,但我现在不知道如何接收消息。