2011-12-04 82 views
-3

我已经浏览了很多页面和论坛,但仍然不确定这一点。我正在写一个项目,客户端读取一个包含数字的txt文件,并将这些数字发送给将执行一些计算并将结果发送回客户端的服务器。是否可以使用udp将客户端连接到多个服务器?如果是这样,解释会很好。我不认为我完全理解udp。我也用c写这个。从一个客户端连接到多个服务器的原因是因为我需要使用1,2,4和8个服务器运行客户端(向每个服务器分配数字,直到没有剩余数量)并比较运行时间。任何快速的帮助,将不胜感激。udp - 客户端到多个服务器

回答

1

您可以将UDP用于具有相同套接字的多个服务器。可能最简单的方法是让客户端为每个连接分配一个会话ID,在每个发送的数据报中包含会话ID,并让服务器在每个发送的回复数据报中返回该会话ID。不要使用IP地址来区分数据包来自哪个服务器,因为服务器可能有多个IP地址,从而使其不可靠。

只要记住,如果你使用UDP,你不会得到任何TCP添加的东西。如果你需要他们中的任何一个,你需要自己做。如果你需要全部或大部分,TCP是一个更好的选择。 TCP的功能:

  • 会话建立

  • 会话拆毁

  • 重发

  • 发送起搏

  • 回退,然后重试

  • 乱序检测和重排

  • 滑动窗

  • 致谢

的如果您需要任何这些东西并选择使用UDP,你需要做他们自己。