TCP套接字数据发送/接收操作
本文关键字:操作 套接字 数据 TCP | 更新日期: 2023-09-27 18:18:58
我正在开发一个MMO游戏服务器。我必须了解TCP数据发送/接收操作(不是使用,细节)。我想问这个:如果我从。net套接字客户端发送一个5kb的数据,服务器套接字是否可以处理这个数据发送操作一次?即5kb数据是否可以再接收一次5kb = 1的操作。操作:2kb + 2。操作:3 kb ?
我想再说一遍;如果客户端发送一个数据到服务器,我们的服务器监听器的Recv()方法可以传递这个数据到我们的处理程序类在一次(回调操作)?
您不能保证从单个Receive()
中的单个Send()
获取所有数据。
TCP算法透明地将数据拆分为单个数据包,并且没有直接的API控制数据包的大小,或者当单个数据包太大时如何拆分数据。请参阅Nagle的算法,了解TCP如何在底层完成此操作的详细信息。
如果你想控制准确的数据包内容和发送时间,你应该考虑基于数据包的协议UDP。