2011-10-28 15 views
1

wxWidgetsでソケットプログラミングを使用してTelnetサーバーと通信しようとしていますが、サーバーに接続した後、サーバーからのウェルカムメッセージがあることがわかっていても、私は何も得られません。サーバーとのTelnetセッションを開始するために送信しなければならない特定のメッセージがありますか?接続すれば、ウェルカムメッセージを送信することができます。私がパテを介して接続すると、サーバーは私からの入力の前にすぐに歓迎メッセージを出します。wxWidgets socket telnet

Telnetセッションを開始する方法を詳しく説明する仕様へのリンクを得ることができます。まだ検索で有用な記事を見つけることができませんでした。

+1

私がこのウェブサイトで間違っていることを教えてくれただけではありません。 – csteifel

答えて

0

次のプログラムは、テルネットサーバーに接続し、受信したデータを印刷します。データはテキストではなくバイナリであることに注意してください。テルネットプロトコルの解析方法を理解するには、RFC854を調べる必要があります。

#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 failed\n"; 
    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; 
}