4

是否可以编写一个无需中央服务器即可检测并连接到对等点的应用程序?如何?

我相信这是一些点对点应用程序所做的,但我在编程方面的知识比在网络方面要好得多。

假设您要创建一个按以下方式工作的私人聊天应用程序:

  1. 您定义了一个您信任的 ID 列表
  2. 该应用程序显示具有相同应用程序并具有可信 ID 的所有对等点
  3. 您建立了一个连接,允许您聊天和发送小型文档(源代码、odt 文件等),而无需在路由器中打开端口。

当然,我并不期待一个灵丹妙药的答案,只是一些关于可行性的线索,以及这将需要的技术。

4

1 回答 1

0

这取决于您的应用程序将在哪种类型的网络中运行,对于 LAN 网络,您可以这样做:

  • 客户端(或对等方)在 LAN 中发送广播以获取可用对等方的列表。
  • 其他在线的peer会响应这个peer广播的IP,像这样:我是peer ID:xxx,我的ip地址是192.168.1.44,监听端口是4567。
  • 现在对等点具有可用连接对等点的列表。

当然,您必须设计一个广播协议来获取可用对等点的列表。一个简单的广播协议可以有以下选项: 查询可用对等体的对等体的 IP 地址,因此其他人将响应此 IP,广播协议的端口号。可用的对等方将使用以下信息进行响应:IP 地址、聊天应用程序的端口号。现在聊天应用程序可以使用此信息与这些对等点进行连接。这将适用于 LAN 网络,但要识别 Internet 上的对等点,我没有找到不依赖中央服务器的解决方案。

对不起我的英语,我希望你至少现在有一个想法。

于 2015-02-23T11:58:37.917 回答