问题标签 [p2p]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
14241 浏览

c# - 如何在 C# 中实现 P2P?

最近想用c#和Winform开发一个简单的聊天程序,主要功能是聊天和文件传输,但是找不到使用dotnet实现p2p的例子,谁能帮帮我?

0 投票
1 回答
1055 浏览

iphone - GameKit 框架中使用的 peerID,对于每个设备总是唯一的吗?

在 GKSession 中分配给您设备的 peerID,对于同一设备是否始终相同?我的意思是,每次创建 GKSession 时,您的 peerID 都会是同一个?还是每次创建 GKSession 时都会随机分配一个?这个 peerID 是如何生成的?

谢谢!

0 投票
6 回答
1991 浏览

networking - P2P网络游戏/应用程序:类似“战网”的匹配服务器的好选择

我正在制作一个网络游戏(1v1),在游戏中它是 p2p - 不需要游戏服务器。

但是,为了让玩家能够“找到对方”,而不需要在另一个媒介中协调和输入 IP 地址(类似于现代网络游戏的时代),我需要一个协调/匹配服务器。

我不能使用常规的网络托管,因为:

  • 客户端将使用 UDP 进行通信。
  • 因此,我需要进行 UDP 打孔才能通过 NAT
  • 这将要求服务器以 UDP 通信并知道客户端的 IP 和端口
  • afaik 与常规网络托管 (php/etc) 我只能获取客户端的 IP 地址,并且只能通过 TCP (HTTP) 进行通信。

我目前正在考虑的选项:

  • 使用我的程序可以接受 UDP 连接的托管解决方案。(有什么建议吗?)

  • UDPonNAT似乎这样做,但使用 GTalk 并要求每个客户端都有一个 GTalk 帐户(这可能使其成为不合适的解决方案)

有任何想法吗?谢谢 :)

0 投票
2 回答
366 浏览

c# - 多个客户端之间的对象同步算法

我正在制作一个小型点对点应用程序,其中包含一个公共对象集合。这不是关于套接字通信以传输对象的问题,因为我已经排序了。

首先,我不必担心冲突,因为客户端只能添加到对象集合中。但我在脑海中苦苦思索,克伦特人是如何协商他们需要将哪些物品转移给彼此的。

我猜这之前已经做过很多次了,而且一定有某种同步算法存在于某个地方......

有任何想法吗?

更新:

我想我在问是否有一种方法可以同步,而不必循环遍历每个对等点上的所有对象并检查它们是否存在于另一端

0 投票
1 回答
1197 浏览

iphone - 更改 GKPeerPickerController 中的文本

是否可以更改 GameKit 的 GKPeerPickerController 中的默认文本(例如“寻找其他 iPhone 和 iPod touch”)?

我见过完全自定义的解决方案,但我想知道是否可以避免这种麻烦,只需更改默认文本。

0 投票
3 回答
420 浏览

networking - 参与 p2p 文件共享项目的最佳资源

这些天我有兴趣加入一个开源 p2p 文件共享项目。我对这个主题的了解并不那么具体,我的意思是我了解安全、网络、p2p 基础知识,但我仍然不知道从哪里开始同时了解全局和实际细节。简而言之,推荐的资源是什么?现在我正在阅读“点对点:利用颠覆性技术的力量”,并在 FreeNet 等类似系统中走动。

0 投票
2 回答
1555 浏览

php - 使用 php 套接字开发聊天应用程序是否可行?

我正在寻找使用 php 套接字开发聊天应用程序,我不希望将数据库作为节点之间的桥梁,原因是数据库交互的数量最终将成为开销..

请建议..

0 投票
5 回答
8211 浏览

c# - 直接P2P连接

这个主题类似于这个线程

我对网络编程这个话题相当陌生,除了在一台本地机器上做基本的 TCP/UDP 之外,从来没有做过任何事情。现在我正在开发一个需要 P2P 网络支持的应用程序。更具体地说,我需要应用程序通过 Internet 连接和通信,最好不使用服务器在客户端之间进行匹配。

我知道并假设几乎所有用户都在路由器后面,这使过程复杂化,因为两个客户端都无法初始化与另一个客户端的直接连接。

我知道 UPnP 是一个允许端口转发的选项,而无需用户手动配置,但到目前为止这不是一个选项。他们有什么方法可以实现我的目标,还是我需要那台服务器?

0 投票
1 回答
1341 浏览

sockets - 找到我的UDP套接字的“真实”端口的方法?

是否有任何免费服务可以让我向其发送 UDP 数据包,它会响应告诉我什么是我的“真实”UDP 端口?(我的应用程序在 NAT 后面)

这种服务可以让我用普通的 php 主机制作一个 p2p 协调服务器。

  • p2p 客户端将从该服务中知道他们的 UDP 端口
  • 然后他们将通过 HTTP(这是常规网络托管允许的)联系我的服务器并告诉它他们的端口(和 ip,通常提供给 cgi 脚本)
  • 我的服务器将为客户端提供其他客户端的 IP 地址和端口。
0 投票
1 回答
250 浏览

tcp - 哪些 TCP 协议可用于客户端到客户端的通信?

很多时候,客户要求他们的 Web 应用程序提供即时消息 (IM) 和其他客户端到客户端 (P2P) 通信等功能。通常这是如何在普通的网络浏览器中完成的?例如,我看到了能够从常规浏览器进行即时通讯的Google Wave (和 Gmail)的演示。这是通过HTTP吗?或者 XmlHttpRequest (AJAX) 是否为这种通信提供了必要的后端?

最重要的是,我想知道服务器如何“唤醒”远程客户端,比如说发送 IM?还是客户端必须不断“轮询”消息服务器以获取新的 IM?