我需要通過網絡套接字將RS232連接暴露給客戶端。我打算在python中編寫一個TCP套接字服務器,它將監聽某個端口,允許客戶端連接並處理傳出,並管理和控制來自R2232端口的請求和應答。將TCP寫入RS232驅動程序
我的問題是,如何同步客戶端,每個客戶端將一些字符串發送到串行端口和應答發回後,我需要返回該客戶端的結果。只有這樣我才需要處理下一個請求。
如何同步訪問串口?
我需要通過網絡套接字將RS232連接暴露給客戶端。我打算在python中編寫一個TCP套接字服務器,它將監聽某個端口,允許客戶端連接並處理傳出,並管理和控制來自R2232端口的請求和應答。將TCP寫入RS232驅動程序
我的問題是,如何同步客戶端,每個客戶端將一些字符串發送到串行端口和應答發回後,我需要返回該客戶端的結果。只有這樣我才需要處理下一個請求。
如何同步訪問串口?
要擴大Sjoerd的答案,建立一個單一線程的服務器(如http://docs.python.org/library/basehttpserver.html),其隨後控制端口(通過類似http://pyserial.sourceforge.net/pyserial_api.html),加上一個簡單的URL結構,爲您提供了揭露和處理簡單,RESTful方式要求。
我用與此非常相似(多一點精緻的用絲網的接口)的東西來控制我們的landscape irrigation system;我的妻子喜歡它。
最簡單的方法是簡單地接受連接,處理請求並關閉連接。這樣,您的程序一次只處理一個請求。
一種替代方法是使用鎖定或信號量,以防止多個客戶端同時訪問的RS232端口。
客戶端是否需要獨佔端口訪問權限,還是僅僅使用端口將消息傳遞到一個硬件? – 2010-10-10 13:17:58
只是使用端口將消息傳遞給一個硬件,但多個客戶端可以訪問該端口,硬件以請求回覆的方式工作。 – kokoko 2010-10-10 18:35:31