【问题标题】:direct client-to-client message直接客户端到客户端消息
【发布时间】:2012-11-02 22:55:25
【问题描述】:

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

【问题讨论】:

标签: javascript browser client-server chat


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    https://httprelay.io

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

    【讨论】:

      【解决方案3】:

      我认为你的问题的答案是here

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

      【讨论】:

        【解决方案4】:

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

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

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

        这里是docs、一个描述功能的blog post和一个browserify module,其行为类似于浏览器中的net node.js 模块。

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

        【讨论】:

        • 感谢您的回复!因此,如果我的服务器因客户端超载而导致我的第一个想法是仅在客户端之间发送消息,似乎这不可行,您会建议任何其他解决方案或解决方法吗?
        • 将尽可能多的逻辑移出服务器/将其拆分为可以在多台机器上运行的多个组件。 node.js 应该可以同时处理many manysocket.io 客户端,你还有吗?
        • 对于 2016 年之后阅读本文的人,SPDY 现在已弃用。 Google 在 Google Chrome 51 中删除了 SPDY 支持。Mozilla 在 Firefox 50 中删除了它。[8] Apple 已在 macOS 10.14.4 和 iOS 12.2 中弃用该技术。
        【解决方案5】:

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

        【讨论】:

        • 为什么它与服务器无关?服务器必须启动一个客户端,当第二个客户端启动时,应该有一种方式只在两个客户端之间发送消息
        • 对不起,我没有提到初始聊天不需要服务器,但是以后两个客户端之间的聊天(如果你不想通过服务器)不需要。也许我不够清楚。无论如何,如果您能够使用 flash/flex,那么请使用 RTMFP。聊天轮盘就是这样制作的
        • ty 用于清理,所以如果我没有误解的话,你建议的是关于实时 IO 吗?那你知道 nowjs github.com/Flotype/now 吗?也许它也是一个解决方案?
        • 在我看来这不像是有效的 pear to pear 套接字库,它看起来像是某种基于 express 的框架,我想它是用于快速 Web 应用程序开发的。通信 clinet-server 和 client-client 是非常不同的,因为一开始,客户端总是知道服务器 IP 地址
        猜你喜欢
        • 2019-04-08
        • 2013-02-21
        • 2010-11-05
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-16
        • 2013-04-01
        相关资源
        最近更新 更多