我浏览了许多页面和论坛,但仍不确定。我正在编写一个项目,其中客户端读取数字的txt文件,并将数字发送到服务器,服务器将进行一些计算并将结果发送回客户端。是否可以使用udp将客户端连接到多台服务器?如果是这样,一个解释会很好。我认为我还不太了解udp。我也在c中写这个。从一个客户端连接到多台服务器的原因是因为我需要使用1、2、4和8台服务器运行客户端(向每台服务器分配编号,直到剩下一台为止)并比较运行时间。任何快速帮助将不胜感激。
最佳答案
您可以将UDP用于具有相同套接字的多个服务器。可能最简单的方法是让客户端为每个连接分配一个会话ID,在发送的每个数据报中包含该会话ID,并让服务器在其发送的每个答复数据报中返回该会话ID。不要使用IP地址来区分数据包来自哪个服务器,因为一台服务器可以拥有多个IP地址,从而使其不可靠。
请记住,如果使用UDP,则不会获得TCP添加的任何内容。如果需要它们中的任何一个,则需要您自己进行。如果需要全部或大多数,TCP是一个更好的选择。 TCP可以:
会议建立
会话拆卸
重传
传输节奏
退避并重试
故障检测和重新排列
推拉窗
致谢
如果您需要任何这些东西并选择使用UDP,则需要您自己进行。
关于c - udp-客户端到多个服务器,我们在Stack Overflow上找到一个类似的问题:
https://stackoverflow.com/questions/8378917/