我正在VB.net中寫一個基於GUI的應用程序,通過telnet與LambdaMOO服務器通信,發送命令以顯示對象層次結構,然後解析輸出並創建一個可視表示的對象層次結構。Socket編程和Telnet與VB.net
所以我的問題是:是否有某種類型的「telnet客戶端」的.NET來簡化數據的發送和接收,還是我必須使用套接字API編寫我自己的?
莫諾有這樣的事情嗎?
除了一個簡單的解決方案,沒有人有一個很好的教程,他們可以指向在VB.net中的telnet客戶端編程?
我正在VB.net中寫一個基於GUI的應用程序,通過telnet與LambdaMOO服務器通信,發送命令以顯示對象層次結構,然後解析輸出並創建一個可視表示的對象層次結構。Socket編程和Telnet與VB.net
所以我的問題是:是否有某種類型的「telnet客戶端」的.NET來簡化數據的發送和接收,還是我必須使用套接字API編寫我自己的?
莫諾有這樣的事情嗎?
除了一個簡單的解決方案,沒有人有一個很好的教程,他們可以指向在VB.net中的telnet客戶端編程?
telnet protocol基本上就是通常的TCP協議,有很多可選的東西,你可能不需要實現。所以你會打開一個套接字並開始使用套接字流接口發送和接收數據。
嘗試使用常規套接字API,您可能會發現它非常簡單。
只是一個建議。您可以嘗試對您的vb應用程序進行編程以在批處理模式下執行現有的telnet應用程序。
這裏是link供您參考。請參閱7.3在批處理文件和腳本中使用Plink。希望能幫助到你。
你可以抓取任意數量的庫中的一個來使用。這裏有一個庫:
對於其他人嘗試使用Google的線沿線的東西:庫的telnet泥.NET
最後,還有什麼隨時打開數量開源MUD/MOO/MUSH項目誰願意分享想法,並尋找人來幫助項目。
您可以看看Expect command這是一個在遠程機器上運行telnet,ftp等腳本化解決方案。然後,您可以腳本預期連接和檢索數據。
這會消除管理套接字和協議的所有複雜性。
好吧,我有一個類似的問題,並忽略了所有的安全問題等,希望TELNET從VB發起的連接到遠程設備,並做些什麼。我同意整個談判過程是一件可怕的事情,但一旦你完成了,實現起來其實很簡單。我決定不要停下來,因爲我一直在閱讀一些事情,說如果你可以在網絡流中寫入1和0,就可以完成清楚的工作。
下面鏈接中的代碼將啓動連接,並讓您完成通過TELNET實際交換明文信息。假設發送用戶名和密碼組合的示例顯示瞭如何讀取和寫入連接。大提示 - 最初有一個漂亮的大文本框或什麼來捕獲進入緩衝區的所有內容(變量returndata)。這將幫助您診斷問題。另外檢查我的博客那裏如何做到這一點,沒有文本框閃爍閃爍的事情。一旦你完成了所有這一切,你知道你的腳本是可靠的,摒棄任何屏幕更新,它會通過而不是花時間。
道歉的真髒代碼和糟糕的網站佈局。
http://myhead-online.blogspot.com/2009/05/vb-net2008-express-telnet-to-sun.html
從事物的LambdaMOO結束,如果你有嚮導訪問或者是朋友,誰做,你可以有MOO讓您對其他協議,您也許能有更多的工作數據很容易,比如HTTP。你所需要的只是MOO上的一個對象,其中do_login_command()被設置爲處理請求,然後使用listen()內建函數讓該對象在給定端口上偵聽。只要協議不需要任何複雜的SSL,在MOO端進行編碼就相當容易。所以這可能是值得的,如果VB.net更容易處理HTTP等
也快速搜索我看到的一切都是付費解決方案,所以我同意。 up –
我開始按照你的建議做,但發現API的行爲有點怪異。我希望有人用更高級別的「telnet客戶端」類編碼出所有的奇怪,所以我不必學習套接字的怪癖或telnet的怪癖。 我基本上希望能夠用VB編寫telnet會話,並解析返回的數據。 – Mike
也許你可以描述你遇到的「怪異」,並且有人能夠指引你朝着正確的方向前進。 Telnet是比較簡單的網絡協議之一,所以遇到的任何問題都可能會在其他地方顯示出來。花時間瞭解套接字API的普通級別如何工作是值得的。 –