【问题标题】:Network Address Identification网络地址识别
【发布时间】:2015-04-23 19:27:09
【问题描述】:

我正在尝试实现像 Skype 这样的应用程序。如果我需要一个服务器来存储客户端机器的 IP 地址,我有点困惑,所以他们知道如何相互定位。或者有一些更好的技术,以便客户端机器可以相互定位。

我在考虑 UDP 多播,因此需要 ips。我将使用 c# 或 C,所以欢迎任何代码。

【问题讨论】:

  • 看看 SIP/XMPP 服务器以获得想法。
  • 不,没有这样的功能可以让你在互联网上大喊大叫,在网络的最后一个角落被听到,所以你的伙伴可以回答。
  • 喊的东西会很不错。想象一下自我意识的网络生活应用程序 = ]。没错,SIP/XMPP 规范有很好的想法。

标签: c# c networking udp ip


【解决方案1】:

您需要将 IP 地址存储在服务器上,计算机将连接到服务器。服务器应将状态与 IP 地址相关联,例如 Active、Idle、Busy 等,并且客户端应相应地获取用户列表。消息应该被发送到服务器,然后服务器会将它们转发给收件人。

【讨论】:

  • 有没有办法实现某种en.wikipedia.org/wiki/Electroreception#Electrolocation Electrolocation。我的意思是,我的应用程序在连接时会发送一个只有具有特定签名的其他客户端才能知道的实时信号
  • 能否请您详细说明为什么服务器必须使用中间件。
  • 因为你不知道你想去什么地方。如果我理解正确,您想要“秘密聊天”。如果是这种情况,您可以在发送时加密消息的内容并在服务器上解密。至少在连接初始化时。如果您想要直接通信,您可以将地址从服务器发送给客户端,但无论如何都需要服务器来启动连接。
  • 好吧,我在考虑性能问题,但是由于现在 10MB+ 连接更加普遍,我认为我们可以找到更多可以用作服务器的机器。例如,Skype 群组创建者将是服务器机器,客户端将通过流式通道发送消息,主机将“多播”消息到其他连接的客户端。 SignalR 会这样做,但它适用于小消息,而不是 VoIP。
猜你喜欢
  • 1970-01-01
  • 2012-01-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-08-16
  • 1970-01-01
  • 2012-08-01
相关资源
最近更新 更多