如何在 2 台主机之间保持 UDP 套接字连接打开



我正在开发一个基于C++UDP的简单聊天室,我以此为基础。每次客户端-服务器互相说"你好"时,他们都在结束他们的进程,没有别的,但我想在那之后保持套接字打开,这样我就可以发送其他东西和/或类似的东西,但没有找到这样做的方法,那么我该怎么做呢?没有找到太多关于我需要的信息,所以任何帮助表示赞赏。提前谢谢。

您无需发送脉冲或心跳即可保持套接字打开。只要程序正在运行或您调用close,套接字就会保持打开状态。

您可以将发送和接收包装在一个无限循环中,但您应该注意,您链接到的示例代码对于聊天客户端来说太简单了:您将需要处理诸如底层连接脱机之类的错误(例如,当发送和 recv 调用将返回带有相关 errno 的错误时,接口断开连接/关闭(。您应该考虑使用选择轮询epoll系统调用来检测错误并处理它们。

最新更新