2012-05-07 93 views
3

我能夠訪問由PuTTY打開一個終端,並讓我將命令發送到檢索數據/日誌和啓動/停止處理一個telnet服務器與QNX Neutrino中進行通信。我想開始研究如何通過C++訪問這個服務器,以便自動化連接和測試命令。基本上我需要一個telnet客戶端,它可以連接和驗證自己,並寫入和讀取/從服務器讀取,就像我正在輸入終端一樣。我應該從哪裏開始我的研究?我試了幾個例子,包括:使用telnet通過++ TCP/IP使用C

http://lists.boost.org/boost-users/att-40895/telnet.cpp

當我編譯和運行

./telnet 192.168.1.26 23 

什麼也沒有發生,但是當我用膩子連接到服務器,我得到:

QNX Neutrino (localhost) (ttyp0) 

login: root 
password: 
# 

任何幫助將不勝感激。
備註:
- 我正在使用運行OS X版本10.7.3的Mac和i686-apple-darwin11-llvm-gcc-4.2
- 我被允許這樣做。
- 我用膩子我的Windows 7機器上,連接以太網到USB以太網適配器,併爲本地連接的設置屬性> TCP/IPv4的屬性:都是一個特定的IP地址,子網掩碼和默認網關,可能是有用的信息。

謝謝

+2

約用膩子開始呢?它的來源是可... – Mat

+0

*「的連接以太網到USB以太網適配器,併爲本地連接的設置屬性> TCP/IPv4的屬性:都是一個特定的IP地址,子網掩碼和默認網關,這可能是有用的信息「*您的操作系統應該(實際上*確實*)將應用程序屏蔽掉所有這些垃圾。 – dmckee

+0

爲什麼:你可以使用ssh來驗證和運行命令:SSH

回答

6
  1. 瞭解如何編程TCP/IP套接字。您可以使用boost庫或直C風格的BSD套接字。一些信息hereherehere。如果紙是你的東西,你可以得到第1卷Unix Network Programming。這本書,你拿到票只是在計算器上提它這樣一個良好的口碑。

  2. 你想要做什麼密切匹配telnetexpect的功能。你可以看看有關想法的來源herehere

  3. 考慮只用expect解決你的問題:)

+1

+1不僅有,而且在提Stevens的‘UNIX網絡編程’:-)首位。 – alk

+0

並沒有人提到boost :: asio ..恥辱 – johnathon

1

您應該首先了解您嘗試連接的系統的網絡API。 Telnet只是通過tcp/ip套接字直接發送文本。