在做一个智能硬件的服务器,GatewayWorker相当于一个转发平台。浏览器走websocket,智能硬件走tcp。
1)浏览器先绑定uid到Gateway(比如qq号)
2)智能硬件绑定uid到Gateway (比如mac)
这两个uid并没有直接的绑定关系,请问如何做到在Gateway端就有uid之间的绑定关系?
我现在的做法是在网页端那边的建立了数据库,记录了浏览器uid和硬件的绑定关系,每次浏览器发送每条命令都要查询数据库对应的硬件uid是什么,组合成{"type":"send","web_uid":"web","device_uid":"mac","contant":"hello"},在,Gateway中提取出硬件uid再通过sendToUid发送给硬件;
同样硬件发送给浏览器也需要带上自己uid和浏览器uid。。
请问Gateway有木有更为简便的方法,可以让浏览器过来的Message,自动记得他需要发送给的硬件uid?
设定一个规则就行了,
浏览器绑定的uid为$QQ,
设备属于哪个$QQ就把设备uid设置为以$QQ为前缀的id,比如 "$QQ-设备"
$QQ发来的消息要发给它对应的设备就sendToUid("$QQ-设备", $msg);