4

我一直在使用 node.js 一段时间,现在当我更深入地研究它时,对于聊天应用程序而不是作为客户端 - 服务器 - 客户端发送消息,必须有一些可能的方式直接客户端到客户端消息发送?

4

5 回答 5

5

浏览器倾向于通过 HTTP 与服务器通信。有些实现了其他协议,例如 websockets 和SPDY,但同样,这些主要是客户端-服务器协议。

一些插件(如 Flash 和 Java)可以打开端口并进行客户端-客户端通信。(AFAIK,实际上并没有使用它们。)

Chrome 是我所知道的唯一可以(很快)从 Javascript 打开 TCP 和 UDP 套接字并进行直接客户端-客户端通信的浏览器。目前普通的网络应用程序无法做到这一点,您的应用程序需要作为“Chrome 打包应用程序”运行,并带有一个特殊manifest文件。

以下是文档、描述该功能的博客文章和可以像浏览器中的node.js 模块一样运行的browserify模块。net

编辑:这可能不应该被标记为 [node.js] 因为你试图在浏览器中运行(而不是在你的节点虚拟机中),这是一个 Javascript / 浏览器问题。

于 2012-11-14T13:44:17.023 回答
1

这与服务器没有任何关系。如果您需要类似的东西并且客户端是闪存,您可以使用RTMFP。对于 JS,我在谷歌上搜索了这个,它是 RTMFP 的 js 桥,我不知道它是如何工作的。最后,您可以编写自己的库来在客户端之间聊天,但这要困难得多(IP 地址在 NAT 后面,等等......)

于 2012-11-14T12:47:16.263 回答
1

这可能是过时的问题,但看看PeerJS

它只需要服务器作为连接管理器(代理)。但是所有的通信都是直接在客户端之间完成的。

于 2017-05-08T21:55:25.700 回答
0

我想你的问题的答案就在这里

PS 也存在使用 JS 编写的开源浏览器内服务器,但我没有快速搜索它。如果你找到它,请通知我。

于 2012-11-14T16:08:41.037 回答
0

如果您只是不想编写自己的服务器,可以使用:

https://httprelay.io

使用 AJAX 调用在对等点之间进行通信。

于 2017-04-24T15:31:46.603 回答