2009-07-27 8 views
1

o Sun OS, UTS, AIX, etc. Mais, lorsque le même programme est exécuté avec HP UX à l'autre bout, nous sommes incapables de recevoir la réponse de la boîte HP UX (B .11.31 O/S).telnet HPUX en utilisant la prise

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

Lorsque la lecture est appelée, nous obtenons les messages indésirables comme ce

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

Ce code travaillait pour tous les autres systèmes d'exploitation comme je l'ai dit plus tôt. Quelqu'un peut-il expliquer pourquoi cela se produit? Can Remarque: Nous sommes en mesure de vous connecter à la boîte HP manuellement en utilisant telnet.

Répondre

4

Ce sont des commandes telnet. Plus précisément "ÿ" est le graphique Latin-1 correspondant au caractère TELNET IAC (Interpréter comme commande), "ý" est la commande DO, et "$" est l'ancienne option ENVIRON. Il est prévu que vous envoyez une réponse WILL ou WONT. Voir la spécification TELNET au RFC 854 pour plus de détails.

Je crois que certains serveurs telnet n'envoient pas de commandes telnet tant que le client ne les a pas envoyées en premier, ce qui peut expliquer pourquoi vous ne voyez pas le problème avec certains serveurs.

Questions connexes