【问题标题】:Telnet connection to devices for c#Telnet 连接到 C# 的设备
【发布时间】:2014-01-26 11:32:16
【问题描述】:

我想为我们公司的一些 cisco 设备远程登录程序。我正在使用此代码:

String str = Console.ReadLine();
Stream stm = tcpClient.GetStream();

ASCIIEncoding asen = new ASCIIEncoding();

byte[] bb = new byte[100];

int k = stm.Read(bb, 0,100);

for(int i=0;i<k;i++)
{ 
   Console.WriteLine(Convert.ToString(bb[i])); 
}

但它只返回一些数字,你能说什么是错误的或不同的方法吗?

【问题讨论】:

    标签: c# stream bytearray telnet


    【解决方案1】:

    您打印字节值,如果您想从这些字节打印字符串,请尝试使用以下代码(而不是 for 循环):

                byte[] bb = new byte[100];
    
                int k = stm.Read(bb, 0,100);
                Console.WriteLine(System.Text.Encoding.Default.GetString(bb));
    

    您也可以更改编码,阅读String.Text.Encoding_properties,例如Ascii encoding

      // Create an ASCII encoding.
      Encoding ascii = Encoding.ASCII;
    
      String decodedString = ascii.GetString(bb);
    

    【讨论】:

    • 感谢您的帮助,但它返回类似 y1y1 y1#1 我如何更改编码
    • 对不起,即使 y1y1 y1#1 也没有返回任何东西
    • 你除了看什么?
    • 我尝试远程登录我们的设备,但必须询问用户名和密码我做错了吗?
    • 你正在尝试做的事情有很多例子telnetcsharp.codeplex.com/wikipage?title=Examples
    【解决方案2】:

    你应该转换成 char 或者使用这个:

    StreamReader reader = new StreamReader(stm);
    string text = reader.ReadToEnd();
    

    【讨论】:

      猜你喜欢
      • 2013-04-12
      • 1970-01-01
      • 1970-01-01
      • 2020-06-09
      • 1970-01-01
      • 2013-09-20
      • 1970-01-01
      • 2015-02-20
      • 2013-05-13
      相关资源
      最近更新 更多