Maison  >  Article  >  développement back-end  >  javascript - 通过js 用websocket 连接打印机 进行打印问题

javascript - 通过js 用websocket 连接打印机 进行打印问题

WBOY
WBOYoriginal
2016-12-01 00:25:324270parcourir

通过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的通信

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn