javascript - Javascript 上的 Netcat

标签 javascript browser tcp

我在一个云解决方案下工作,它允许用户在 ESC/POS 打印机上打印收据。所以它实际上很容易在上面打印,就像

echo "Hello world!" | nc 192.168.1.37 9100

但是,我需要对用户的浏览器执行相同的操作。所以我试过这样:

var connection = new WebSocket('ws://IPAddress:Port');

connection.onopen = function () {
  connection.send('Ping'); // Send the message 'Ping' to the server
};

差不多完成了,但是 WS 发送整个堆栈的 HTTP header 以

开头
 GET / HTTP/1.1 
 ...

有没有办法不带标题发送?或者其他方式将数据发送到打印机?

最佳答案

netcat 或 nc 使用 TCP 协议(protocol),它不像 http 请求那样使用像“POST/1 HTTP/1.1\r\n”这样的 header 。您可能正在考虑使用 net.Socket()而不是 WebSocket 我不想让您感到困惑,因为您的目标是在浏览器中使用 javascript,但我在 node.js 中成功使用了 net.Socket()。这条评论的重点是,你的目标是建立 TCP 连接而不是 WS。

关于javascript - Javascript 上的 Netcat,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46405636/

相关文章:

javascript - Visual Studio 2017 调试器在 Office Excel 加载项 Typescript 转换后无法正常工作

javascript - MS Edge 将属性的空白值更改为 1

javascript - 为什么建议在重绘后调度某些内容时将 setTimeout 嵌套在 requestAnimationFrame 中?

php - 将 HEX 转换为 ASCII,来自 GPS 跟踪器的数据

tcp - 如何获取连接到基于 Rebol3 的服务器的客户端的远程 IP 地址?

javascript - 在for循环JavaScript中将键的值从数组推送到另一个数组

javascript - Rails jquery 在任何情况下都无法加载

css - 按钮不显示

java - 当我在浏览器上显示 'view source' 时,如何确保 HTML 格式正确?

c++ - 发送和十六进制消息时套接字代码 C++ 的问题