TCP模式,怎么主动给客户端发消息呢?

zhengweipx

TCP模式,怎么主动给客户端发消息呢?
当客户端给服务器发消息,服务器端会通过onMessage给客户端回复消息,但是当客户端没有给服务器端发消息,那么服务器端如何主动给客户端发消息呢?

7933 13 1
13个回答

damao

你这个问题和楼下一个啊,定时器可以发啊

  • 暂无评论
zhengweipx

现在是客户端1秒给服务器回个数据包,服务器是在判断一定条件下才给客户端推送消息,怎么处理啊

  • 暂无评论
damao

写代码判断处理啊

  • 暂无评论
zhengweipx

多个客户端怎么判断,客户端上报会给服务器一个唯一的id,然后通过这个id服务器查询数据库这个客户端的某个状态,现在怎么知道是哪个客户端,我现在是将客户端的id保存在session,然后通过session读取,但是多个客户端1秒上传,session是不是就变了

  • 暂无评论
damao

gatewayWorker有绑定uid的功能,客户端上报唯一id后调用绑定功能,然后就可以在任何时候调用Gateway::sendToUid发送数据了

  • 暂无评论
zhengweipx

那通过唯一的id查询数据库怎么弄

  • 暂无评论
damao

查数据库这个是phper基本的技能啊,查数据库在网上有很多文章的

  • 暂无评论
zhengweipx

额,不是的,我的意思是通过客户端这个唯一的id去查询数据库,我现在是这个id保存的session
$_SESSION=$ret;

然后这样查询
$sql="select * from payrecord,station,glasses WHERE payrecord.StationId=station.id AND glasses.StationId=station.id AND glasses.SN='{$_SESSION}'";

比如现在有多个客户端,都在同时1秒上报一次,那这个id会是什么

  • 暂无评论
damao

就是客户端对应的id

  • 暂无评论
zhengweipx

意思是这样写没什么问题是吗

  • 暂无评论
damao

看起来没问题

  • 暂无评论
zhengweipx

好,谢谢啊。

  • 暂无评论
zhengweipx

大佬,GatewayClient怎么用啊,文档有点小看不懂,emmmmmmm

  • 暂无评论
年代过于久远,无法发表回答
🔝