我浏览了很多页面和论坛,但仍然不确定这一点。我正在编写一个项目,客户端读取数字的txt文件并将数字发送给服务器,服务器将进行一些计算并将结果发送回客户端。是否可以使用udp将客户端连接到多个服务器?如果是这样,解释会很好。我不认为我完全理解udp。我也是用c写的。从一个客户端连接到多个服务器的原因是因为我需要使用1,2,4和8个服务器运行客户端(将数字分配给每个服务器,直到没有剩余)并比较运行时间。任何快速帮助将不胜感激。
答案 0 :(得分:1)
您可以将UDP用于具有相同套接字的多个服务器。可能最简单的方法是让客户端为每个连接分配会话ID,在它发送的每个数据报中包含会话ID,并让服务器在它发送的每个应答数据报中返回该会话ID。不要使用IP地址来区分数据包来自哪个服务器,因为服务器可能有多个IP地址,使其不可靠。
请记住,如果使用UDP,则不会获得TCP添加的任何内容。如果您需要其中任何一种,您需要自己完成。如果您需要全部或大部分,TCP是很多更好的选择。 TCP确实:
会话建立
会话拆解
重传
传输节奏
退避并重试
乱序检测和重新排列
滑动窗户
致谢
如果你需要这些东西并选择使用UDP,你需要自己做。