TCP中的多发送()或接收()

时间:2012-04-02 07:08:27

标签: c# sockets tcp

我想做一些客户端和服务器来互相共享文件。我有一个问题,因为TCP“消息”被合并,尽管我设置了我想发送的字节数和接收的数量。

我看了一下,问题出现在第一个“消息”中我发送文件名然后(在新的Send()中)我发送文件内容,例如。

我通过在每个接收数据包之后发送反馈消息来修复它。

有没有更好的方法呢?

1 个答案:

答案 0 :(得分:1)

为每封邮件添加长度前缀。然后在循环中读取,直到您收到任意数量的字节为止。