我对网络编程没有太多经验,但是出现了一个需要它的有趣问题。服务器将多个不同类型的数据流传输到其他机器。每台机器都应该能够选择它想要接收的流(一个或多个)。整个设置仅限于本地网络。最初,只有两个客户端,但如果可能的话,我想设计一个可扩展的方法。
现有的服务器代码(仅流式传输单个流)正在使用TCP流式套接字执行此操作。但是,从一些关于这个主题的阅读中,我不确定这种方法是否可以很好地扩展到多个流和多个客户端。原因是:想要接收相同流但是通过不同TCP套接字连接的两个客户端不会导致带宽浪费吗?特别是与允许多播的UDP相比。
由于我的经验不足,我依靠知识渊博的人为我提供建议:考虑到我确实希望流是可靠的,从头开始使用UDP是否值得,并在其中实现可靠性,而不是继续使用TCP?或者,通过设计合适的网络结构可以更好地解决这个问题吗?如果需要,我很乐意提供更多细节。感谢。
答案 0 :(得分:1)
由于您需要可扩展的程序,因此UDP将是更好的选择,因为它不会花费额外的长度来验证数据是否已被接收,从而使得更快地发送数据的过程。