Можно ли отключить ECHO при использовании сокета для telnet? - PullRequest
1 голос
/ 14 января 2011

Могу ли я остановить сервер от эха каждой команды, которую я посылаю ему?
Это часть моего кода:

 Socket s = ConnectSocket(server, port);

 if (s == null)
   return ("Connection failed");

 int bytes = 0;
 string ret = "";

 bytes = s.Receive(bytesReceived, bytesReceived.Length, SocketFlags.None);
 ret = Encoding.ASCII.GetString(bytesReceived, 0, bytes);
 //ret="????!????BCM96358 xDSL Router\r\nLogin: "
 ret = ret.Substring(12); //Remove the telnet header: 255,253,1,255, 253, 33,255, 251, 1,255, 251, 3 
//IAC,DO,Echo, IAC,DO,Remote Flow Control, IAC,WILL,Echo, IAC,WILL,Suppress Go Ahead

  request = "Admin\r\n";
  bytesSent = Encoding.ASCII.GetBytes(request);
  s.Send(bytesSent, bytesSent.Length, 0);

  bytes = s.Receive(bytesReceived, bytesReceived.Length, SocketFlags.None);
  ret = Encoding.ASCII.GetString(bytesReceived, 0, bytes);
//ret = "Admin\r\nPassword: "

Ответы [ 2 ]

2 голосов
/ 06 июля 2016

Для меня отправка этой последовательности решила проблему эха.

"\xFF\xFB\x01\xFF\xFB\x03"

другими словами, он равен IAC WILL ECHO IAC WILL SUPPRESS-GO-AHEAD

0 голосов
/ 14 января 2011

Что заставляет вас думать, что это эхо? Посмотрите, что происходит на уровне сети, используя Wireshark . Я сильно подозреваю, что эхо происходит на клиенте, а не на сервере.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...