代码之家  ›  专栏  ›  技术社区  ›  Matt

如何打开telnet连接并在C中运行一些命令#

  •  13
  • Matt  · 技术社区  · 15 年前

    这是直截了当的吗?有没有好的例子?我所有的google搜索都会返回关于如何在dotnet中创建telnet客户机的项目,但这对我来说太过分了。我想用C来做这个。

    谢谢!

    2 回复  |  直到 10 年前
        2
  •  4
  •   Martin Vobr    14 年前

    对于简单的任务(例如用类似telnet的接口连接到一个专门的硬件设备),通过套接字连接并只发送和接收文本命令就足够了。

    如果您想连接到真正的telnet服务器,您可能需要使用一些已经测试过的代码(如 Minimalistic Telnet library from CodeProject (免费)或某些商业telnet/终端仿真器库(例如 Rebex Telnet )可能会节省你一些时间。

    以下代码(取自 this url )演示如何使用它:

    // create the client 
    Telnet client = new Telnet("servername");
    
    // start the Shell to send commands and read responses 
    Shell shell = client.StartShell();
    
    // set the prompt of the remote server's shell first 
    shell.Prompt = "servername# ";
    
    // read a welcome message 
    string welcome = shell.ReadAll();
    
    // display welcome message 
    Console.WriteLine(welcome);
    
    // send the 'df' command 
    shell.SendCommand("df");
    
    // read all response, effectively waiting for the command to end 
    string response = shell.ReadAll();
    
    // display the output 
    Console.WriteLine("Disk usage info:");
    Console.WriteLine(response);
    
    // close the shell 
    shell.Close();