首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NodeJs -如何使用socket.io向局域网中的另一台计算机发送tcp数据包

问NodeJs -如何使用socket.io向局域网中的另一台计算机发送tcp数据包
EN

Stack Overflow用户
提问于 2019-12-28 07:52:31
回答 1查看 1.1K关注 0票数 0

我有基于网络套接字的NodeJs网络服务。服务器端的一个文件尝试将xml发送到ip地址为192.168.1.5的局域网中的打印机,但此ip位于我的物理网络中,而不是服务器端的区域网络中。当我在本地主机上打开web服务时,它是工作的,但当我通过网络打开我的服务时,它不是工作。我如何使用web套接字,让nodejs应用程序通过TCP将xml发送到局域网中的另一个本地主机,就像我一样使用socket客户端?

例如(我的局域网):

本地主机- 192.168.1.100

打印机- 192.168.1.5

本地主机(我的物理计算机) ->在浏览器上打开web服务(NodeJS)运行脚本(服务) ->通过TCP将xml发送到打印机(192.168.1.5)

这种情况可能吗?

EN

回答 1

Stack Overflow用户

发布于 2019-12-28 08:36:13

您不能直接使用webSocket或socket.io发送普通的TCP数据包。webSocket是它自己的协议,webocket运行在webocket之上。它使用http请求发起连接,使用自己的数据格式帧和自己的安全方案。因此,webSocket客户端只能连接到webSocket服务器,或者socket.io客户端只能连接到socket.io服务器,而不能连接到普通的TCP设备。

您可以使用node.js中的Net模块建立普通的TCP连接。因此,如果可以的话,您可以直接从node.js联系打印机。

但是,如果不使用某种可以访问本地代码的浏览器插件,或者不向服务器发送某种http、webSocket或socket.io请求并让服务器代表您联系打印机(这将要求服务器和打印机在同一本地网络上),您就不能直接从浏览器网页中建立普通TCP连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59507061

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档