慾望: 我有一個設備或微控制器,我會稱之爲一個MC,我需要溝通,當一個網頁按鈕被點擊使用套接字。溝通一個按鈕點擊事件與插座
MC1
<button id ='on1' name='mc1'>On</button>
<button id ='off1' name='mc1'>off</button>
詳情: 當按鈕被點擊傳遞信息到MC什麼,我試圖完成的。
我試過了: 目前我可以偵聽一個端口,並且可以向mc寫入數據以及接收數據。 要做到這一點即時通過服務器php cli啓動一個文件。該文件包含這些基本套接字函數。
$socket = @socket_create_listen("port#");
$client = socket_accept($socket);
socket_write($client, $msg);
socket_read ($client, 256);
的MC然後連接到服務器的端口#
問題: 林有了解如何縮小與按鈕我的PHP網頁之間的差距,並傳遞數據的困難是,按鈕已被點擊到MC。
嘗試在一個解決方案: 我可以有一個監聽端口運行,然後在一個單獨的文件寫入到客戶端的文件?
附加說明:MC局域網我想避免設置端口轉發和外部IP有時更改。由於這些原因,我選擇讓MC建立到服務器的連接,從而允許服務器寫入MC,而不需要端口轉發和不變的IP地址。
感謝 JT
這個問題是它需要我的MC有端口轉發和一個不會改變的IP ......我希望通過讓MC啓動連接來避免這個問題,因此服務器現在能夠寫入MC避免端口轉發和IP問題。無論如何,我感謝你的回覆! –
@tman雖然這可以在一個web服務器內完成(不知道如何在普通的PHP框架中做到最好),但更簡單的方法可能是在同一臺機器上運行另一個進程,並且MC始終與MC連接。然後,當你在你的web框架中點擊按鈕時,只需「點擊」這個其他進程(套接字,文件系統,不管),並讓它發送你的數據。您需要儘可能安全地進行安裝,但它會阻止您自己編寫Web服務器(困難)或在某些其他Web服務器中使用某些高級功能。 – xaxxon
啊,也許你可以詳細說明「MC一直連接到它的同一臺機器」的說法。 MC直接連接到互聯網,所以沒有其他機器。我曾考慮過放置一個小型操作系統......就像一個小型操作系統,但我不知道這將如何解決問題......您建議可以運行什麼流程? –