2012-02-29 35 views
3

我有一個大問題,我很難解決它。我有一個定製的遊戲控制器,它通過串行通信從它的傳感器輸出一些數據,並通過串口連接到PC。我在Matlab腳本中調用當前控制器的位置。我正在構建一個Web應用程序,該應用程序將在Web瀏覽器中顯示設備的數據(位置),但似乎無法解決,請將我的設備連接到瀏覽器。 Matlab腳本將所有位置數據發送到採樣頻率爲100HZ(每秒100個採樣)的UDP端口。我需要在Web瀏覽器和我的matlab腳本之間建立一個持久連接,這樣我才能夠顯示數據。我正在考慮使用web套接字API。但它不會「說」UDP。所以我的想法是以某種方式用UDP自定義Python服務器讀取數據,然後在該Python服務器上創建一個websocket,並將通過UDP端口接收的數據發送到Web瀏覽器。哦,如果我可以在兩個方向進行溝通,這將是很好的。這會工作嗎?任何想法如何做到這一點?這通常是怎麼實現的,我的意思是如何讓一個溫度傳感器連接到網頁瀏覽器來實時顯示數據?如何創建瀏覽器和應用程序之間的通信

任何答案將很樂意讚賞。

感謝, 萊昂

回答

3

注意的是,雖然WebSockets的協議是建立在TCP套接字,WebSockets的協議不是原始TCP套接字。 WebSockets連接具有HTTP友好握手(內置一些CORS功能)。 WebSockets也是基於消息的(而不是象TCP這樣的流媒體),所以每個消息都有幾個幀頭的字節。

你可能會看websockify(免責聲明:我做了websockify)。 Websockify是一個Python Web服務器和普通TCP套接字之間的橋接/代理服務器。我認爲將它適配爲處理後端的UDP套接字並不是特別困難。

WebSockify(旨在與包含的include/websock.js前端庫一起使用)支持二進制數據,即使在舊的Hixie版本的協議上也是如此。這使它可以與僅支持較舊版本協議的iOS(iPhone,iPad)設備一起工作。

相關問題