Python 套接字编程(TCP与UDP)

4 投票
4 回答
3706 浏览
提问于 2025-04-16 16:19

我打算设计一个服务器,这个服务器可以接收来自多个客户端的数据,不过服务器不需要给客户端发送任何东西,虽然返回一个STATUS_OK的状态也不错,但不是必须的。

我对Python的socket模块和twisted框架有一些基础了解,但我想问的是,我应该使用UDP还是TCP?因为客户端需要保持连接。

希望大家能理解我的问题,谢谢你们在这里的帮助!

4 个回答

0

在你的情况下,我建议使用TCP,不过具体的需求我不太清楚。一般来说,TCP是一个更好的协议,因为它非常可靠。使用TCP时,数据丢失的情况很少见,不过这也会让传输速度稍微慢一些。由于你不需要把任何东西发回给客户端,所以TCP作为一个流式协议,这点其实影响不大。

所以我建议你直接使用TCP。

2

你能接受丢失一些信息吗?如果可以,那就用UDP。如果不行,那就用TCP。这两者就是为了这些目的设计的。

4

你应该一直使用TCP,直到你遇到性能问题,并且知道用UDP可以解决这个问题。TCP在出错时更容易理解。

撰写回答