telnet クライアントに接続されているサーバー アプリケーションがあります (つまり、telnet localhost _port_num - ここでは、ポート番号はサーバー アプリケーションに関連付けられているものと同じです)。
私のアプリケーションは正しく動作しますが、問題は次のように recv を使用したことです。
#define BUFLEN 512
char buf[BUFLEN];
iResult = recv(sd, (char *)buf, BUFLEN, 0);
ここで、recv 呼び出しは、接続された telnet 端末で任意の文字が押されるとすぐに戻ります。ほとんどの場合、iResult は1
またはです。Enter を押さ2
なくても、telnet クライアントは単一の文字を含むフレームをサーバー アプリケーションに送信します。
BUFLEN read の後に recv が返されるようにするにはどうすればよいですか? Linux の recv が期待どおりに動作する場合は、ブロックを まで取得しますenter
。
どんな助けや指針も大歓迎です。