我目前正在使用客户端 - 服务器模型在python中开发高度响应的游戏。客户端和服务器之间的数据交换速度需要非常快。
是否可以同时建立udp和tcp连接? Udp只会在游戏中使用。并且Tcp将用于更多可靠性消息,如连接,名称更改,聊天,... 这也是一种好的思维方式吗?或者我应该只使用UDP?
答案 0 :(得分:1)
您可以在不同的端口甚至on the same port上绑定UDP和TCP连接。至于使用哪个,取决于你。尝试两者,如果TCP太慢或UDP太不可靠,那么你总是可以选择切换。
答案 1 :(得分:1)
是的,这可能是一个好主意。使用UDP,单个丢失的数据包不会使整个流停顿。另一方面,您需要重试和拥塞控制。
我尝试使用UDP发送消息,如果在很短的时间内没有确认,则在已保持打开的TCP连接上重新发送它们。这应该将99%的负载转移到UDP并使用TCP进行拥塞控制和可靠性。
答案 2 :(得分:0)
您还可以使用通过UDP构建可靠性层的第三方库,并指定每个数据包所需的可靠性。例如,您可以查看Raknet。