首页 > 解决方案 > 聊天应用程序,点对点通信

问题描述

我正在使用 Javascript 开发聊天应用程序。当从一个客户端向另一个客户端发送消息时,我是否必须通过服务器发送它,或者我可以直接从对等方法发送它,使用类似 websockets 的东西?

标签: p2p

解决方案


欢迎来到您看到设计模式重要性的生活阶段。

您可以使用 Web 套接字的中介模式和代理模式开始解决方案。
是否需要服务器取决于您的设计。
在技​​术方面,HTML5 提供了多种 API,您可以通过它们自己制作一些东西。HTML5 和 JS 有很多可用的 API。开始挖掘 WebSockets、服务器发送事件、Web Worker。

服务器将在充当调解人的同时为您提供记录保存的灵活性。或者,您可以提出一个纯 p2p 设计方案,其中每个节点或用户通知其他用户他们的详细信息 (IP) 以建立通信。请记住,要使 Web 套接字正常工作,客户端需要知道要连接的地址。也许它可以有固定的主节点。然后,您可以使用 observables 进行轮询和其他功能。查看 BitTorrent 协议以获取设计灵感。

发挥创意并开始设计。


推荐阅读