1

我正在构建一个通过 TCP 套接字与远程服务器通信的客户端。偶尔,客户端会向服务器传递消息,或者服务器会向客户端传递消息。

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

ping 失败时该怎么办?(或客户端发送一条从未被确认的消息)我可以:

  1. 继续 ping,直到我收到 ping 回复
  2. 关闭socket,反复尝试连接socket,直到连接成功

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

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

4

0 回答 0