TCP ソケット経由で 52 バイトのデータを送信しています。10 バイトを送信するソケットをテストしたところ、問題なく動作しましたが、send() が -1 を返すようになりました。私は使用しています:
write(sockfd, request, total_size + 1);
ここで、sockfd は記述子 (エラーのないセットアップ)、リクエストは char[200] で、total_size + 1 = 52 です。
send() 呼び出しが失敗するのはなぜですか?
コメント投稿者が指摘しているように、あなたが書いた質問に基づいて多くの答えを出すことは不可能です。でも:
send()呼び出しが失敗するのはなぜですか?
標準ライブラリ呼び出しは、失敗した理由を示しますerrno。試す:
#include <stdio.h>
//... make the write fail
perror("write failed");
出力を調べます。