当我使用基于TCP的连接时,如果我向客户端发送一些数据,但由于滞后或某种原因客户端不读取数据。数据是否合并(Socket.Avalialbe =先前请求+新请求)和Socket.Recieves两个缓冲区组合在一起还是需要调用Soocket.Receive两次以接收数据以便我发送它?
答案 0 :(得分:0)
有可能在一个'recv'中你会获得两个'发送'发送的所有字节。
TCP不维护邮件边界。应用程序可以理解数据。你不能假设一个'发送'将导致一个'recv'。收到的字节将在TCP的缓冲区中,直到应用程序调用'recv'。