2010-02-22 24 views
2

我寫了一個簡單的扭曲應用程序,它連接到偵聽1個或多個端口的服務器。扭曲的應用程序連接到此服務器,並且一次連接到幾個開放端口。該服務器是一個連接到串行設備並通過原始TCP Socket提供串行線路信息的串行記錄器,我需要將所有這些數據記錄到磁盤。蟒蛇扭曲stdio與服務器的多個連接與命令提示符進行交互

我的當前應用程序將所有收到的信息記錄到磁盤中,沒有問題。

我現在需要做但我無法取得進展的是添加通過標準輸入與我的應用程序進行交互的功能。我需要能夠向本地應用程序發出命令,但也可以通過連接的套接字發送文本命令。

我有一個基本的提示使用basic.LineReceiver並將其添加到我的反應堆,但無法弄清楚如何將數據發送到服務器,或者即使這是這樣做的正確方法。

一個簡化的例子將有助於展示我需要做什麼。

感謝

Ĵ

回答

2

要交互式控制檯添加到您的扭曲的應用程序,看到this article - 它解釋瞭如何使用twisted.internet.stdio爲宗旨。

+0

我最初跟着這個例子,但仍然不太明白我需要爲我的例子做什麼。 – 2010-02-22 15:56:52

+0

我不確定除了從http://share11.appspot.com/1421複製示例代碼(「良好」版本)以外,還有什麼可以說的。當然你會一直在本地處理用戶輸入的行,只是讓一些「動詞」導致發送到服務器(帶回調等)。也許你可以使用標準庫的'cmd'模塊來提供幫助。向我們展示(通過編輯您的Q),儘可能簡單地顯示您嘗試過的代碼的簡單版本,但無法工作,我們可能會提供具體建議,但現在我無法想象它是什麼你可能做錯了! – 2010-02-22 16:09:22

+0

hoo,鏈接到文章是死= _ =。現在仍在Google緩存中:http://webcache.googleusercontent.com/search?q=cache:ZXY3g5nNc_QJ:www.oluyede.org/blog/2008/08/31/twisted-interactive-console/+&cd=1&hl= en&ct = clnk&client = ubuntu – christophe31 2012-04-17 16:57:39