websocket 推送消息

设备主动连接socket服务器,服务器根据标识给客户端发送消息;

问题:

客户端网络断开?

服务器端处理:

TCP断开有个等待时间,30秒内如果客户端网络恢复,消息还是可以推送过去。这个时间需要系统级别的设置。

由于服务器端不会对客户端进行心跳或者ping的检测,如果客户端断网,服务器无法感知。当你在使用session发送消息的时候就会异常。这个需要手动处理捕获异常移除对象。

客户端处理:

使用js写心跳机制,检测是否断网,不断尝试连接直到网络恢复。

websocket攻击:

由于每次连接都是一个新的TCP,一个客户端可以发起多次连接,就会形成DOS攻击,需要对客户端连接做限制;

WebScoket协议标准

https://www.rfc-editor.org/rfc/rfc6455.txt

源码地址:

https://github.com/dianming/ClinicPCpush

文档:

http://doc123.top/

猜你喜欢

转载自blog.csdn.net/Uniquelike/article/details/79236296