我正在研究一种解决方案,该解决方案需要网页将原始数据打印到连接的打印机上。一种选择是通过与浏览器在同一台机器上运行的进程将数据发送到打印机。该进程侦听特定端口并将数据从浏览器转发到打印机。
是否可以使用 Websockets 将数据从网页发送到另一个监听进程?
我正在研究一种解决方案,该解决方案需要网页将原始数据打印到连接的打印机上。一种选择是通过与浏览器在同一台机器上运行的进程将数据发送到打印机。该进程侦听特定端口并将数据从浏览器转发到打印机。
是否可以使用 Websockets 将数据从网页发送到另一个监听进程?
Websockets 可以发送到任何端口,而不仅仅是端口 80。但不幸的是,Websockets 不传输原始数据。在建立连接之前,会执行 Websocket 握手,其中还包括一个 32 位的屏蔽密钥,该密钥与来自客户端的数据流进行异或。该数据流也由一些额外的字节构成。详细信息可以在 RFC中找到。
不幸的是,这意味着 Websocket 客户端无法与不支持 Websocket 协议的服务通信。因此,您将需要一个接受用户 websocket 连接、解包数据流并将其转发到打印机的中间件。
Websockify就是这样一种中间件。