在TCP连接中,是否发送';s长度匹配记录';它的长度有限制吗?

在TCP连接中,是否发送';s长度匹配记录';它的长度有限制吗?,tcp,Tcp,我想知道当传递给send()的大小增加时,TCP/IP连接会发生什么情况 在一个简单的TCP/IP连接中(默认属性,没有TCP/IP没有修复的错误),是否保证传入的send()的大小将是recv()中的大小,可能会达到某个限制?如果是,可以确定此限制吗?每个send()发送的数据的大小可能与每个recv()不匹配,因为接收方不知道消息的大小。例如:一条100字节的消息可以分为10个数据块或一次发送100字节 关于问题的第二部分,发送缓冲区的最大大小可以通过一个简单的调用来确定: int sock

我想知道当传递给
send()
的大小增加时,TCP/IP连接会发生什么情况


在一个简单的TCP/IP连接中(默认属性,没有TCP/IP没有修复的错误),是否保证传入的
send()
的大小将是
recv()
中的大小,可能会达到某个限制?如果是,可以确定此限制吗?

每个send()发送的数据的大小可能与每个recv()不匹配,因为接收方不知道消息的大小。例如:一条100字节的消息可以分为10个数据块或一次发送100字节

关于问题的第二部分,发送缓冲区的最大大小可以通过一个简单的调用来确定:

int sockbufsize=0;大小=sizeof(int);
getsockopt(skt、SOL_SOCKET、SO_SNDBUF、(char*)和sockbufsize和size)//skt是套接字描述符

每个send()发送的数据的大小可能与每个recv()不匹配,因为接收方不知道消息的大小。例如:一条100字节的消息可以分为10个数据块或一次发送100字节

关于问题的第二部分,发送缓冲区的最大大小可以通过一个简单的调用来确定:

int sockbufsize=0;大小=sizeof(int);
getsockopt(skt、SOL_SOCKET、SO_SNDBUF、(char*)和sockbufsize和size)//skt是套接字描述符

否,这是不保证的。TCP是一种流协议,它的套接字接口只保证字节流以正确的顺序传输,没有错误,仅此而已。当然,因为它保证所有数据的正确发送,所以发送的字节总数将是接收的字节总数。

不,这是不保证的。TCP是一种流协议,它的套接字接口只保证字节流以正确的顺序传输,没有错误,仅此而已。当然,由于它保证了所有数据的正确发送,因此发送的字节总数将是接收的字节总数。

根据您使用的API,如果您使用的API允许发送()的话,send()甚至可能不会发送您要求发送的所有字节若要传输的字节数少于请求的字节数,它通常会返回它成功传输的字节数。根据您使用的API,如果您使用的API允许发送()的话,send()甚至可能不会传输您请求发送的所有字节要传输的字节数少于请求的字节数,它通常会返回它成功传输的字节数。