0
我需要編寫Python腳本執行幾項任務:什麼是實現python TCP客戶端的最佳方式?
讀取控制檯命令,並在
tcp/ip
發送到服務器接收服務器響應,進程,使輸出到控制檯。
創建這樣的腳本的最佳方法是什麼?我是否必須創建單獨的線程來偵聽服務器響應,同時在主線程中與用戶交互?有什麼好的例子嗎?
我需要編寫Python腳本執行幾項任務:什麼是實現python TCP客戶端的最佳方式?
讀取控制檯命令,並在tcp/ip
發送到服務器接收服務器響應,進程,使輸出到控制檯。
創建這樣的腳本的最佳方法是什麼?我是否必須創建單獨的線程來偵聽服務器響應,同時在主線程中與用戶交互?有什麼好的例子嗎?
呼喚一個最好的辦法或代碼示例相當題外話,但此時間過長是註釋。
一般有三種方式來建立這些終端模擬器像應用:
cu
與fork
select
系統調用與多路複用io。通常,2個第一種方法被認爲是更直接的代碼,一個線程(或進程)處理上行通信,而另一個處理下行通信。由於Python支持多線程,多處理和select
調用,因此您可以選擇任何方法,因爲線程比進程更輕,而且多線程優先於多處理,所以我可以選擇任何方法看不到使用過程的理由。
在剛剛我意見繼
除非如果你是在一個較低的水平語言後重寫它上面書寫的模式,我認爲性能不是問題的關鍵,我的建議是使用線程這裏。
爲什麼你需要兩個線程?上一個命令完成後,您是否關心來自服務器的消息?服務器是否關心用戶在命令中鍵入的內容?我不覺得這兩個工作需要並行發生 – Eric
比我怎樣從控制檯同時接收來自服務器和用戶命令的消息? – Dmitry
你需要嗎?服務器是否曾經發送過一些不響應命令的東西?它不能只是在命令和響應之間切換嗎?即'while True:get_cmd(); send_to_server(); dispay_response()' – Eric