ノンブロッキング connect() を介して別のマシンのサーバーに接続しようとしています。
ただし、そうすると、Connect() は -1 を返し、WSAGetLastError() から WSAEWOULDBLOCK を受け取ります。
MSDN ドキュメントには次のように記載されています。 WSAEWOULDBLOCK がノンブロッキング SOCK_STREAM ソケットで connect を呼び出した結果として報告されるのは正常です。これは、接続が確立されるまでに時間がかかるためです (参照)。
問題は、常にエラーが発生し、サーバーが実行されていない場合でも connect() から -1 が返されることです。
提案されているように、私のソケットは SOCK_STREAM ソケットです。どうすればこれを修正できますか? connect() 呼び出しの後にタイムアウトを提供して、connect が接続を確立するのに十分な時間を確保する必要がありますか?