2

我正在尝试确定是否可以使用 JavaScript(例如,使用 socket.io 库)从网页将自定义数据发送到给定的 TCP 端口。

据说 WebSocket API 需要与带有 HTTP/1.1Connection: Upgrade标头的 Web 服务器握手,然后才能让您来回传递消息。因此,它似乎不会这样做(除非可以以某种方式避免基于 HTTP 的握手)。

但 socket.io 也有其他传输和功能。那么,它是否允许您将任何类型的自定义数据发送到任何 TCP 端口?换句话说,它是否允许您在原始 TCP 套接字上进行操作,类似于ncUNIX 上的 (netcat)?一般来说,有没有办法使用 JavaScript 对原始 TCP 套接字进行操作?

4

1 回答 1

3

不,您不能使用基于普通浏览器的 Javascript 直接通过 TCP 发送自定义协议。不过,您可以在 Node.js 中使用 Javascript 来完成,因此一件简单的事情是在您编写的 Node 服务器中接受 websocket 连接,然后将它们作为纯 TCP 代理到实际服务。

于 2013-03-13T04:22:46.100 回答