workerman isOnline

我想实现一个浏览器只能打开一个聊天窗口
如果浏览器打开多个页面 isOnline 还可以用么??
请教群主如果可以 能讲解下具体原理么
已邀请:

walkor

赞同来自: chosen1cwp

Gateway::isOnline($client_id)
是针对每个链接的,每打开一个页面你的websocket应该就会与workerman建立一个链接,每个链接被分配了一个client_id(2.1.2版本中这个id叫uid,值是开发者自己定义的)。这个client_id保存在Gateway进程中,并且对应一个socket链接。

如果要判定某个client_id是否在线,只需要到对应那个gateway进程中查找client_id对应的socket是否存在即可。Gateway::isOnline($client_id)就是BusinessWorker进程与通过socket与Gateway进程通讯,查询client_id对应的socket是否存在来判断是否在线的

anyway

赞同来自: chosen1cwp

好的 谢谢 明白 我每次都拿着$client_id 校验就行

要回复问题请先登录注册