3

我有这个项目用于我目前正在学习的课程。这里是:

  • 用于 Telnet 的网页客户端不在标准端口上,具有选择端口和连接的能力

我的机器上有 telnet 服务器,只是在等待连接。

所以我的想法是在专用机器上设置一个带有 express 服务器的 nodeJS。这将通过 telnet 处理连接并为客户端托管一个页面,该页面将使用 socket.io 与服务器端交换信息。

但由于我是此类技术的新手(电信学生),我想知道这是否可能。我发现了类似的东西 - Peter Nitsch 的 jsterm.com,但我发现代码中有一些巨大的差距,并且演示并没有真正起作用,所以我不知道它是否真的有效。有人试过这个吗?

我的另一个问题是 - 当我通过 websockets 向 nodeJS 服务器发送信息时,这对我来说似乎可以实现,我该如何处理这些信息?我是否只是设置另一个 websocket 将我从客户端 websocket 获得的相同数据直接传递到 telnet 端口?

套接字可以直接连接到特定端口,而另一端没有任何 websocket 等待吗?

如果我的想法是错误的,任何人都可以帮助我 - 也许存在一些不错的解决方案 - 例如,我正在考虑 Anyterm,但我看到它需要一个 apache 服务器并运行完全不同的技术......

4

1 回答 1

4

需要说明的是,WebSocket 连接不是原始 TCP 套接字连接。它们在每个数据包中都有额外的标头信息,浏览器到服务器的数据使用正在运行的 XOR 等进行屏蔽。

为了让浏览器与普通的 TCP 服务器(例如 telnet 服务器)通信,您需要某种桥接服务。碰巧这样的事情已经存在。websockify是一个接受 WebSocket 连接并将它们桥接到原始 TCP 服务器的服务器。

事实上,websockify 项目已经包含了一个可用的 telnet 客户端作为示例应用程序。但是,请注意 websockify 的一个限制(出于安全原因)是客户端无法选择任意服务器地址/端口来连接。目标地址必须预先定义,可以是在 websockify 的命令行上指定的单个目标,也可以是配置文件中指定的多个目标(并通过 WebSocket 连接字符串中的标记选择)。

websockify 有多种不同语言(python、C、node、ruby、Clojure)的实现,但是,目前只有 python 版本通过配置文件支持多个目标。

免责声明:我创建了websockify

于 2012-11-19T16:33:10.280 回答