1

o Sun OS、UTS、AIX など。ただし、同じプログラムを相手側の HP UX で実行すると、HP UX ボックスからの応答を受信できません (B.11.31 O/S)。

sSocket = socket(AF_INET,SOCK_STREAM,0); 
connect(sSocket,(struct sockaddr *)&sin,sizeof(sin); 
ierr = read(sSocket,szBuffer,BUF_LEN-1); 

read が呼び出されると、次のような迷惑メッセージが表示されます

Message received :ÿý$ 
Message received :ÿýÿþÿý 
Message received :ÿü!ÿû 

前述のように、このコードは他のすべての OS で機能していました。誰かがなぜこれが起こっているのか説明できますか. 注: telnet を使用して HP ボックスに手動でログインできます。

4

1 に答える 1

4

これらは telnet コマンドです。具体的には、" ÿ" は TELNET IAC (Interpret as Command) 文字に対応する Latin-1 グラフィック、" ý" は DO コマンド、" $" は古い ENVIRON オプションです。WILL または WONT 応答を送信することを意図しています。詳細については、 RFC 854の TELNET 仕様を参照してください。

一部の telnet サーバーは、クライアントが最初に telnet コマンドを送信するまで送信しないと思われます。これが、一部のサーバーで問題が発生しない理由を説明している可能性があります。

于 2009-07-27T18:24:15.377 に答える