向Zebra打印机发送~HI命令,并在javascript客户端中接收响应

向Zebra打印机发送~HI命令,并在javascript客户端中接收响应,javascript,printing,response,zebra-printers,Javascript,Printing,Response,Zebra Printers,我面临着一个问题,我无法找到克服它的方法。如果我发送ZPL命令通过XMLHttpRequest()打印标签,如下所示: var request = new XMLHttpRequest(); var method = "POST"; var async = true; var zpl = "^XA...^XZ"; var urlForPrint = "http://192.168.0.242/printer/pstprnt"; var urlForHi = "http://192.168.0.2

我面临着一个问题,我无法找到克服它的方法。如果我发送ZPL命令通过XMLHttpRequest()打印标签,如下所示:

var request = new XMLHttpRequest();
var method = "POST";
var async = true;
var zpl = "^XA...^XZ";
var urlForPrint = "http://192.168.0.242/printer/pstprnt";
var urlForHi = "http://192.168.0.242:9100";
request.onload = function () {
    var status = request.status; // HTTP response status, e.g., 200 for "200 OK"
    var data = request.responseText; // Returned data, e.g., an HTML document.
}

request.open(method, urlForPrint, async);
request.overrideMimeType('text/plain; charset=unicode');
request.send(zpl);
一切正常(打印标签)。但在尝试打印任何内容之前,我需要发送命令~HI,根据文档,该命令应返回一个字符串,其中包含与此IP上的打印机相关的多个属性

问题:我无法接收此字符串

var requestForPrinter = new XMLHttpRequest();
requestForPrinter.onerror = function (e) {
    //...
}
requestForPrinter.onload = function (e) {
    // I suppose that response message should arrive here, as a parameter of e
    //...
}

requestForPrinter.open(method, urlForHi, async);
requestForPrinter.send("~HI");
如果我使用PuTTY,打印机将返回消息并显示在PuTTY控制台中。 经过大量研究,我意识到PuTTY通过TCP/IP与打印机通信,而我正试图通过HTTP与打印机通信。所以我现在很清楚问题出在哪里。但如何解决呢? 我的一位同事建议创建一个套接字。所以我尝试了,但没有成功。而且,它们似乎不受所有流行浏览器的支持,由于浏览器控制台中出现的错误,我无法对它们进行测试。没有运气就试图修复它们。 任何帮助都将不胜感激!谢谢大家!

编辑:我找到了。所以我的第二个问题是:我刚刚开始学习node.js并了解它的功能。我在某处读到,它是一个服务器端js库。我可以只在客户端使用它吗?我的意思是,他们必须能够使用局域网中的打印机打印标签,并且即使互联网连接中断也能够工作(在开始时,当服务器将一些数据加载到JqGrid中时,仅向服务器请求一次数据)。因此,与服务器通信不是这里的选项