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 :ÿü!ÿû 

这段代码适用于我之前所说的所有其他操作系统。有人可以解释为什么会这样。注意:我们可以使用 telnet 手动登录 HP box。

4

1 回答 1

4

这些是 telnet 命令。具体“ ÿ”是TELNET IAC(解释为命令)字符对应的Latin-1图形,“ ý”是DO命令,“ $”是旧的ENVIRON选项。您打算发送 WILL 或 WONT 响应。有关详细信息,请参阅RFC 854中的 TELNET 规范。

我相信某些 telnet 服务器在客户端首先发送它们之前不会发送 telnet 命令,这可以解释为什么您看不到某些服务器的问题。

于 2009-07-27T18:24:15.377 回答