wxWidgets socket telnet

wxWidgets socket telnet

本文关键字:telnet socket wxWidgets      更新时间:2023-10-16

我试图通过wxWidgets的套接字编程与telnet服务器进行通信,然而,在我连接到服务器后,我没有得到任何消息,即使我知道服务器有欢迎消息,我也没有得到任何消息,是否有特定的消息我必须发送以启动与服务器的telnet会话,我认为只是连接就足够好了,它会发送欢迎消息。当我通过putty连接时,服务器会在我输入任何内容之前立即给出欢迎消息。

我能得到一个详细说明如何启动telnet会话的规范的链接吗?因为我还没能从搜索中找到有用的文章。

下面的程序连接到telnet服务器并打印它接收到的数据。注意,数据是二进制的,而不是文本的——您需要学习RFC854来理解如何解析telnet协议。

#include <wx/wx.h>
#include <wx/socket.h>
#include <iostream>
#include <iomanip>
int main () {
  wxInitialize();
  wxSocketClient sockConn(wxSOCKET_WAITALL);
  wxIPV4address addr;
  addr.Hostname(wxT("shell.theworld.com"));
  addr.Service(23);
  if(!sockConn.Connect(addr, true)) {
    std::cout << "Connect failedn";
    return 1;
  }
  std::string s(' ', 10);
  sockConn.Read(&s[0], 10);
  for(unsigned char c : s)
    std::cout << std::hex << (unsigned int)c << " ";
  std::cout << "n";
  wxUninitialize();
  return 0;
}