透過js 用websocket 連接印表機 進行列印,已知印表機的連接埠是預設開的,透過PHP代碼
1 2 | <code> $s = fsockopen ( "192.168.1.122" , 8081, $errno , $errstr , 30);
fwrite( $s , "abcjiuejseeeeeeeee2222222222ss" );</code>
|
登入後複製
登入後複製
這樣列印是可以的,但透過JS的websocket連接就只列印頭訊息,是什麼情況?
js 程式碼是:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <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代碼
1 2 | <code> $s = fsockopen ( "192.168.1.122" , 8081, $errno , $errstr , 30);
fwrite( $s , "abcjiuejseeeeeeeee2222222222ss" );</code>
|
登入後複製
登入後複製
這樣列印是可以的,但透過JS的websocket連接就只列印頭訊息,是什麼情況?
js 程式碼是:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <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
1 | <code> $s = fsockopen ( "192.168.1.122" , 8081, $errno , $errstr , 30);</code>
|
登入後複製
1 | <code>ws = new WebSocket( "ws://192.168.10.120:8081/" );</code>
|
登入後複製
大兄弟,你發現了什麼微妙的差異了?
192.168.1.122
192.168.10.120
Websocket是基於需要進行握手驗證的,你可以看一看Tcp協議的三次摸手和websocket和PHP的socket的通信