我通过 TCP 套接字发送 52 个字节的数据。我测试了发送 10 个字节的套接字,它工作正常,但现在 send() 返回 -1。我在用着:
write(sockfd, request, total_size + 1);
其中 sockfd 是描述符(设置没有错误),request 是 char[200] 并且 total_size + 1 = 52。
为什么 send() 调用失败?
正如评论者所指出的,根据您所写的问题,不可能给出很多答案。然而:
为什么 send() 调用失败?
标准库调用会告诉您它们在errno
. 尝试:
#include <stdio.h>
//... make the write fail
perror("write failed");
并检查输出。