【问题标题】:Windows store app: Peer to peer connectionWindows 商店应用程序:点对点连接
【发布时间】:2013-02-14 22:39:27
【问题描述】:

我在使用 Windows 8 商店应用程序时遇到了一点问题。我的问题很简单:

我在 1 台电脑上有一个 Windows 8 商店应用,在另一台电脑上有相同的应用。 PC不在同一个网络中,但有互联网。我想从 PC A 向 PC B 发送消息(字符串/字节)。

我该怎么做?

编辑:

好的,StremSocket 连接有效。我成功地将数据从 PC A 发送到 PC B。我将编写一个简单的演示来演示它。现在是棘手的部分 - 发现。

我的想法很简单: 创建一个 Azure 服务,该服务包含一个数据库,其中包含表单中的对等点 (ip,port,timeout)。会有一些规则。

  1. 当您创建“服务器”时,应用会每 1 秒通知一次服务是否存在。
  2. 当服务以(ip、端口)形式从应用程序接收数据时,它将检查数据库中是否存在此条目:
    2.1 如果是 - 将条目的超时重置为 0
    2.2 如果没有 - 将服务器插入数据库中,初始超时为 0
  3. 服务将按以下规则每秒更新数据库:
    3.1 将每个条目的超时时间增加1
    3.2 如果条目的超时时间>5(5 秒内未重新连接)- 将其删除。

我确信有一个更智能的解决方案,但这个解决方案似乎没什么用,我认为它应该可以满足我的需求。大家觉得呢?

【问题讨论】:

  • 第一个问题是你的两个同行将如何发现彼此。
  • 发现部分不是这里的问题。在 p2p 部分。阅读链接,我可以说该应用很可能不会在后台运行,因此只要能够发送/接收数据就足够了
  • @MarioStoilov 我想他的意思是,这两个客户端如何知道另一个客户端的位置?
  • 井位不应该引起人们的兴趣,但我认为你的意思是他们如何知道他们的存在。我可能会有一个专用服务器,它会保存可用对等点的列表

标签: c# windows-8 p2p


【解决方案1】:

我认为StreamSocket 是您想要的。这将允许两个客户端之间的连接和来回通信。如果您希望他们能够找到彼此,您可能必须提供托管在某个服务器上的服务,该服务将列出可用的客户端连接。

【讨论】:

  • 谢谢,我会尽快尝试
  • @MarioStoilov 我想知道你是如何实现对等发现的。让我们知道你使用 Stream Socket 取得了成功吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-16
  • 1970-01-01
  • 2023-03-19
  • 1970-01-01
相关资源
最近更新 更多