gpt4 book ai didi

javascript - 如何以最小的开销实现简单的无服务器 p2p 浏览器到浏览器消息传递?

转载 作者:行者123 更新时间:2023-12-03 12:56:28 25 4
gpt4 key购买 nike

我正在尝试创建一些简单游戏的基本实现(井字游戏是起始项目),这些游戏可以在互联网上播放而无需中央服务器。该页面甚至不需要托管,可以在机器上本地运行,也可以托管在 Web 服务器上。托管游戏时,页面会通知主机他的 IP 地址,然后可以通过任何方式(电话、即时消息等)将其发送给 friend 。该 friend 将输入或复制/粘贴 IP 到加入对话框中,并能够玩有问题的游戏。我希望这两方能够在不安装任何其他软件且不联系任何类型的中央服务器的情况下做到这一点。

我研究了许多潜在的解决方案,涉及 node.js、webrtc、websockets、flash、java 等。每一个都有与之相关的问题,例如需要中央服务器,或者要求客户端可能必须下载一些东西尚未安装在他们的计算机上,或者仅传输音频和视频并且对发送数据消息没有用处。告诉某人他们需要下载 java.. 或者让我使用 flash 开发应用程序似乎微不足道,但这一切都与我的最终目标背道而驰。

如果完全用javascript做我想做的事情是不可能的,那么它就是不可能的。但我不明白为什么不能,考虑到浏览器本身能够向解析为 IP 或直接解析为 IP 的 URL 发送和接收文本数据。欢迎使用其他解决方案,但如果无法做到这一点,那确实应该这样做。

我正在尝试做的确切要求的简单解释是:

  • 应该使用完全免费的(如啤酒)技术。 (没有 Flash,我意识到 Flash 播放器的网络应用程序可以免费编码,但层中的点对点需要注册一个 beta key ,假设我可以免费获得,不一定永远保持免费。)
  • 没有外部服务器或虚假点对点。 (同样在基于闪存或统一的解决方案中,只要您使用他们的中央服务器,就可以实现对等的模仿)
  • 没有客户端下载(当然,大多数人都安装了 java 或 flash,但很多人没有,而且 java 的下载量很大,对计算机文盲用户不友好。它甚至现在尝试安装工具栏。除此之外,许多我的用户根本不愿意下载任何东西,包括 java 或 unity。如前所述,它们有与该项目相关的问题)

  • 总之,如果 ajax 可以向指定的 IP 发送请求并监听响应.. 为什么我不能在纯 js 中获得简单的点对点消息传递?或者我可以吗?

    我不需要托管完整的 Web 服务器或任何类型的单独应用程序或插件来发送和接收数据。

    我错过了什么吗?

    最佳答案

    在推荐了 pubnub 之后,我看了看那里并留下了部分印象。然而,我最终偶然发现了我正在寻找的令人难以置信的东西。 RTCDataChannel 就是答案。 This site终于证明了我想要的都是可能的。浏览器对此功能的支持很小,但在不断增长,整个考验增强了我对浏览器社区对点对点应用程序日益增长的支持的信心。

    关于javascript - 如何以最小的开销实现简单的无服务器 p2p 浏览器到浏览器消息传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16016880/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com