从浏览器建立任意TCP连接



我的web应用程序需要连接到网络上的本地设备才能获取数据。

该设备具有静态IP地址,并通过P03协议进行通信。当我使用Telnet连接时,设备会在控制台中返回纯文本。

我需要在浏览器中使用JavaScript做同样的事情。当用户点击按钮时,它应该通过TCP连接到192.168.0.1:8000,并在页面上显示接收到的文本数据。

问题是这是一个web应用程序。可以做客户端吗?

(除了JavaScript,我也愿意接受其他建议。(

不幸的是,您无法仅连接到任何TCP套接字。浏览器可以进行连接,但必须是以下协议之一:

  • HTTP(HTTP[S]1.0/1.1/2(
  • Web套接字(另一个实际运行在HTTP之上的应用程序协议(
  • WebRTC(适用于对等,也可用于客户端-服务器通信,但在此处没有用处(

实现这一点的一种方法是运行某种代理。您需要制作一个代理,接受来自浏览器的Web套接字连接,然后将发送/接收的数据中继到此TCP服务器。缺点是这需要一个服务器。

另一种方法是制作浏览器扩展。另请参阅:https://stackoverflow.com/a/17567373/362536

最新更新