1

send() 関数の呼び出しで奇妙な動作が発生しています。ここで、socketfd は 0、p は "test\n" 、長さは 5 、フラグは 0 です。

  size_t n = 0;

  n = send(socketfd, p, length, flags);

send は n 18446744073709551615 で値を返すようです

関数のドキュメントには、エラー時に -1 を返すと書かれています。

コードは mac os x 10.7 ライオンでコンパイルされています。何が起こっているのですか?

4

1 に答える 1

1

size_tは符号なしの型であるため、負の値を含めることはできません。実際、send のマンページを確認すると、戻り値の型は ですssize_t。これは署名されたバージョンであり、負の値を含むことができます。

タイプを変更してみてください。

于 2013-02-09T23:41:05.850 に答える