繁体   English   中英

在客户端接收/读取之前,发送到客户端的数据/缓冲区会合并为一个吗?

[英]Will data/buffers sent to a client before client receives/reads it merge into one?

在使用基于TCP的连接时,如果我将某些数据发送到客户端,但是由于滞后或某些原因,客户端不会读取数据。 数据是否会合并(Socket.Avalialbe =上一个请求+新请求)和Socket.Recieves合并两个缓冲区,还是我需要调用Soocket.Receive两次才能接收数据以将其发送到其中?

在一个“ recv”中,您可能会获得与两个“ send”一起发送的所有字节。

TCP不维护消息边界。 由应用程序来决定数据的意义。 您不能假设一个“发送”将导致一个“ recv”。 收到的字节将存储在TCP的缓冲区中,直到应用程序调用“ recv”为止。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM