独立游戏开发学习(五)-添加心跳处理失效的连接

在socket连接过程中,一些客户端因为异常的原因可能已经不在了,所以我们需要定期清除,来避免一些内存的浪费。

1、添加client变量方法判断是否过期

每一次接收到新的消息更新pingEndTime

image

2、添加定时器检测client是否过期

3、测试

image

等个10秒=======

image
image

发现调用了两次deleteClientList。
因为在调用clinet.close()时,会调用deleteClientList方法,所以去掉

再调一下clint_socket.js
image

好了 搞定了。

image
把pingCloseMins改为10分钟

ok!

对应的GitHub地址为:GitHub
该系列的其他篇幅:
独立游戏开发学习(一)
独立游戏开发学习(二)-Stable Diffusion的运用
独立游戏开发学习(三)-联机服务器的搭建tcp篇
独立游戏开发学习(四)-编写tcp交互中间层

5 个赞

感谢大佬的分享,学习了

1 个赞

来支持大佬了

1 个赞