【发布时间】:2012-09-14 20:21:38
【问题描述】:
我正在通过 TCP 套接字发送 52 字节的数据。我测试了发送 10 个字节的套接字,它工作正常,但现在 send() 返回 -1。 我正在使用:
write(sockfd, request, total_size + 1);
其中 sockfd 是描述符(设置没有错误),请求是 char[200] 和 total_size + 1 = 52。
为什么 send() 调用失败?
【问题讨论】:
-
我看到了写入,但没有发送。对于特定的失败原因检查 errno 是否太难了?
-
你打电话给
write()而不是send()。这是你的意图吗?当write()失败时,errno是什么? -
您可能应该发布更多代码,仅使用一行代码和其他代码的描述几乎不可能进行调试。
-
一个简单的 perror() 会告诉你。不要把时间浪费在互联网上。