请教大神 我绑定好用户id 但是当打开2个网页的时候 如果 一个网页给服务端发消息 服务端会收到2条消息(由于同时打开了2个相同的聊天网页,如果打开3个就会受到3条消息),这种怎么解决呢,非常感谢
现在能想到的一个思路是:在新打开一个页面的时候 去断开之前的网页链接 但是这个怎么写呢 求大神指导.
每个连接都有独立的client_id,调用Gateway::sendToClient($client_id, $数据) 发消息,这样就只有一个页面收到了
非常感谢大神的回复 但是现在的问题不是接收方打开了2个网页 而是发送方打开了2个以上网页导致同一条消息多次发送了呀 这个怎么解哦
发送方打开2个网页,在一个页面发消息会裂变成2条发送? 你发消息代码有问题吧,找下你客户端代码发送2条的原因。解决就是了
嗯嗯 已经解决了 因为我的原代码是 服务器收到消息后给Uid发送一个save请求 然后前端接到save请求发送ajax到后台存储数据,由于打开多个页面 所以每个页面都会收到一个save请求 导致最后数据库对一条数据进行了多次存储,只需要把UID换成client_id就行了,非常感谢大神提供的思路
每个连接都有独立的client_id,调用Gateway::sendToClient($client_id, $数据) 发消息,这样就只有一个页面收到了
非常感谢大神的回复 但是现在的问题不是接收方打开了2个网页 而是发送方打开了2个以上网页导致同一条消息多次发送了呀 这个怎么解哦
发送方打开2个网页,在一个页面发消息会裂变成2条发送?
你发消息代码有问题吧,找下你客户端代码发送2条的原因。解决就是了
嗯嗯 已经解决了 因为我的原代码是 服务器收到消息后给Uid发送一个save请求 然后前端接到save请求发送ajax到后台存储数据,由于打开多个页面 所以每个页面都会收到一个save请求 导致最后数据库对一条数据进行了多次存储,只需要把UID换成client_id就行了,非常感谢大神提供的思路