我正在用Python开发一个客户端 - 服务器游戏,每个量子,服务器都必须将游戏状态发送给客户端 .
我用UDP和TCP连接开发了它 . UDP确保游戏状态的速度发送,TCP用于可靠性部分 .
这是一个好方法吗?
所以每个量子服务器发送如下数据:
while playing:
data = computeGameData()
sendNewPlayUDP(data)
sendNewPlayTCP(data)
time.sleep(sleeptime)
我测试了它,它似乎运行良好,但我想知道线程是否可以阻止因为TCP挣扎 . 可能有更好的方法 .
1 回答
根据 :
http://gafferongames.com/networking-for-game-programmers/udp-vs-tcp/
你根本不应该使用TCP . 本文建议使用UDP并为您绝对想要接收和确认的数据包添加额外的逻辑 . 本文还指出TCP数据包可能会干扰UDP数据包,从而增加UDP数据包丢失率 .
您可能还会看到:
https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking
在许多情况下可以容忍丢失数据包 . 在TCP和UDP通道上发送相同的数据看起来有点过分 .