使UDP成为面向连接的协议?

时间:2016-09-04 20:07:53

标签: c# network-programming udp connection rudp

我制作了一个使用UDP协议在客户端和服务器之间进行通信的在线游戏。但是,由于UDP是无连接的,我无法检测客户端是否关闭了游戏或网络中是否发生了错误。因此,我需要使UDP成为面向连接的协议,或者至少检测网络错误。我怎么能做到这一点? TCP连接是如何定向的?

2 个答案:

答案 0 :(得分:2)

正如你所说,UDP没有连接的概念。 因此,实现您想要的唯一方法是在UDP之上自己实现所需的逻辑。

例如,您可以让您的客户办理登机手续'与服务器定期使用包含唯一ID的UDP数据包。 如果服务器在一段时间内没有从客户端收到此消息,则会认为该客户端已死亡。

答案 1 :(得分:1)

首先,我知道你需要UDP因为效率 - 但也许你可以尝试尝试TCP?

否则我会像@Phil Taprogge那样提到。每隔n秒发送一个由服务器识别的特定UDP包。如果服务器没有收到它3 * n秒,则客户端很可能已断开连接。

相关问题