linuxのconnect APIからエラーが発生しました。Linuxのソケット接続
私は「接続」を知っていましたが、接続が成功した場合、私は、戻り値は「3」
が、それはエラーコードであるを持ってゼロを返しますか?または何か他に何がわからないのですか?
connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
私は靴下から3を得ました。
linuxのconnect APIからエラーが発生しました。Linuxのソケット接続
私は「接続」を知っていましたが、接続が成功した場合、私は、戻り値は「3」
が、それはエラーコードであるを持ってゼロを返しますか?または何か他に何がわからないのですか?
connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
私は靴下から3を得ました。
connect()
の戻り値を取得するには、割り当ての左側に使用される変数を使用するのが最も簡単です。
int result = connect(sock, (struct sockaddr*)&serv_addr, sizeof(serv_addr));
printf("connect returned: %d\n", result);
sock
ソケットでなければならない、とsocket()
への呼び出しの結果としてファイルディスクリプタの番号を割り当てられました。新しいファイル記述子を返すほとんどのUNIX APIは、利用可能な最低のものを返します。プログラムは、通常、ディスクリプタ0
,1
、および2
(STDIN、STDOUT、およびSTDERR)を使用して開始します。だから、socket()
が3
を返したことは予期しないことではありません。 Linuxシステム(一般的にPOSIX)で
コードをご覧下さい。 'connect()'は0または-1だけを返します。 – EJP
申し訳ありません私のコードを入れて忘れました – user3773632
このコードは戻りコードを格納しません。それが3であることをどのように知っていますか?そして、「靴下から」はどういう意味ですか? – EJP