我正在构建一个通过TCP套接字与远程服务器通信的客户端 . 有时,客户端会将消息传递给服务器,或者服务器会将消息传递给客户端 .

这将在笔记本电脑上运行,因此连接性将非常不稳定 . 他们可能会丢失他们的wifi,他们可能会让笔记本电脑进入睡眠状态并在稍后唤醒它等等 . 我正在实施一个乒乓球系统以检测连接丢失(所有这些都在同一个插槽上 . 客户端ping,服务器拨打) .

What should I do when a ping fails? (或客户端发送的邮件永远不会被确认)我可以:

  • 继续ping,直到我恢复ping

  • 关闭套接字并反复尝试连接套接字,直到连接成功

选项1显然有点简单,但我不知道它是否会让我得到我想要的行为 . 如果服务器已关闭其连接端会发生什么?此外,如果笔记本电脑只是没有wifi连接,那么所有这些ping都会排队等待,然后一旦它恢复wifi就会一起发送吗?每次有人重新连接时,我都不确定是否要用数千次ping服务器 .

客户端是用Flash编写的,因此对KEEP_ALIVE等选项的低级访问并不多 .