- 42 名前: ◆qr00w3BQO6 [2012/04/29(日) 20:01:41.83 ]
- bindに
status = bind(recvSocket, (struct sockaddr *)&recvSockAddr, sizeof(recvSockAddr)); if (status != 0) { wprintf(L"bind failed with error %d\n", WSAGetLastError()); } このようなエラーメッセージをつけて調べたところ10048と出力されました WSAEADDRINUSE (10048) 意味 : アドレスは既に使用中です。 説明 : 通常、ソケット アドレス (プロトコル/IP アドレス/ポート) は、 それぞれ 1 つずつしか使用できません。プログラムが、既に存在する ソケット (正しく閉じられなかったソケットまたは閉じている最中の ソケット) で使用されている IP アドレスやポートにソケットをバインド (Wsapiref_6vzm.asp) すると、このエラーが発生します。 同一のポート番号に複数のソケットをバインドする必要のある サーバー プログラムの場合は、setsockopt (Wsapiref_94aa.asp) (SO_REUSEADDR) の使用を検討してください。 クライアント プログラムは通常 bind を呼び出す必要はなく、 connect (Wsapiref_8m7m.asp) は未使用のポートを自動的に選択します。 bind がワイルドカード アドレス (ADDR_ANY など) を使用して呼び出された 場合、WSAEADDRINUSE エラーは、特定のアドレスがコミットされるまで発生 しない可能性があります。このエラーは、後に別の関数 (connect、listen、WSAConnect、および WSAJoinLeaf など) が呼び出された ときに発生することがあります。 だそうです.なのでPCを再起動してデバッグなしで実行してみたのですがやはり同じような エラーメッセージが表示されました.なぜでしょうか?
|

|