透過js 用websocket 連接印表機 進行列印,已知印表機的連接埠是預設開的,透過PHP代碼
<code>$s = fsockopen("192.168.1.122", 8081,$errno, $errstr, 30); fwrite($s,"abcjiuejseeeeeeeee2222222222ss");</code>
這樣列印是可以的,但透過JS的websocket連接就只列印頭訊息,是什麼情況?
js 程式碼是:
<code>ws = new WebSocket("ws://192.168.1.122:8081/"); console.log(ws); ws.onopen = function (e) { console.log(e); console.log("连接成功"); ws.send('2222222222222222222222222222'); }; ws.onclose = function(e) { console.log("连接关闭"); }; ws.onerror = function(e) { console.log("出现错误"); };</code>
js 這邊是進不去 ws.open
透過js 用websocket 連接印表機 進行列印,已知印表機的連接埠是預設開的,透過PHP代碼
<code>$s = fsockopen("192.168.1.122", 8081,$errno, $errstr, 30); fwrite($s,"abcjiuejseeeeeeeee2222222222ss");</code>
這樣列印是可以的,但透過JS的websocket連接就只列印頭訊息,是什麼情況?
js 程式碼是:
<code>ws = new WebSocket("ws://192.168.1.122:8081/"); console.log(ws); ws.onopen = function (e) { console.log(e); console.log("连接成功"); ws.send('2222222222222222222222222222'); }; ws.onclose = function(e) { console.log("连接关闭"); }; ws.onerror = function(e) { console.log("出现错误"); };</code>
js 這邊是進不去 ws.open
<code>$s = fsockopen("192.168.1.122", 8081,$errno, $errstr, 30);</code>
<code>ws = new WebSocket("ws://192.168.10.120:8081/");</code>
大兄弟,你發現了什麼微妙的差異了?
192.168.1.122
192.168.10.120
Websocket是基於需要進行握手驗證的,你可以看一看Tcp協議的三次摸手和websocket和PHP的socket的通信