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

0

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

已邀请:

damao - phper

赞同来自:

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

zhengweipx

赞同来自:

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

damao - phper

赞同来自:

写代码判断处理啊

zhengweipx

赞同来自:

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

damao - phper

赞同来自:

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

zhengweipx

赞同来自:

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

damao - phper

赞同来自:

查数据库这个是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 - phper

赞同来自:

就是客户端对应的id

zhengweipx

赞同来自:

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

damao - phper

赞同来自:

看起来没问题

zhengweipx

赞同来自:

好,谢谢啊。

zhengweipx

赞同来自:

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

要回复问题请先登录注册