国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

phpsocket.io如何向一個組廣播?

計算機愛好者

我查看了一下手冊,安裝上面的去寫,
1,首先加入分組
$connection->join('group name');
2,向這個分組廣播信息
$io->to('group name')->emit('event name', $data);
發(fā)覺只有自己的客戶端收到信息,其他客戶端收不到,只能收到自己的信息,
這個group name 我寫的是121212 ,如果直接
$io->emit('event name', $data);
所有的客戶端都可以收到的到,但沒有達到分組的功能,
請問如何什么回事??????????????
?
?

3507 4 0
4個回答

walkor 打賞

貼所有代碼,及測試方法

  • 暫無評論
計算機愛好者

server.php

$io = new SocketIO(3120,$context);
$io->on('connection', function($socket)use($io){
? ? ?$socket->addedUser=false;
? ? ?
? ? ?//登錄鏈接
? ?$socket->on("login",function($msg)use($socket,$io,){
? ? global $roomToUserNameameList;
? ?$socket->addedUser=true;
? ?$roomToUserNameameList=array('userid'=>$msg,'username'=>$msg,'level'=>$msg);//保存每個房間的用戶的列表
? ?$socket->join($msg);//分房間
?
??$socket->uid=array($msg,$msg,$msg,$msg);
??
?$message=$level.urldecode($msg)."進入房間";
? ?$count=isset($roomToUserNameameList)?count($roomToUserNameameList):0;
? ?
//對房間用戶發(fā)送消息
? **?$io->to($msg)->emit('login_leave_room',array("message"=>$message,"onlineUserNameList"=>$roomToUserNameameList,'count'=>$count));**
? ?
}

js頁面-------------------------------------

<script>
?var socket= io("https://xxxxxxx:3120",{ 'reconnect': true });
socket.emit("login",{'username':encodeURI(userInfo.username),'userid':userInfo.userid,'level':userInfo.level,'roomid':roomInfo.roomid,'roomtype':'live'});
?
socket.on("login_leave_room",function(msg){

//用戶用戶列表
alert("OK");? ? ? 
});
</script>

測試方法:A用戶進入房間自己會彈出OK,B用戶進入房間,B會彈出OK,A用戶不會彈出OK,但是不是為什么過了一會刷新A用戶,兩者都會彈出Ok,但刷新B用戶,只有B用戶自己會彈出OK
所以有點困惑,如果直接$io->emit()就正常了,所以、????
?

  • 暫無評論
walkor 打賞

代碼太亂了,沒法看。
我覺得是業(yè)務邏輯問題,有可能是roomid傳錯了。
?
重新建立一個文件單獨測試你說的問題,
業(yè)務邏輯里就這2個
$connection->join('121212');
$io->to('121212')->emit('event', );
有問題再貼出你的代碼
?
?

  • 暫無評論
計算機愛好者

已經解決了,是我有些代碼寫錯了,是按照你寫的,非常感謝?。?!還有一點,就是手機瀏覽,手機黑屏會自動斷開socket服務器的?

  • walkor 2019-05-14

    蘋果會,安卓不清楚

  • 計算機愛好者 2019-05-14

    @1:nginx做反向代理
    location /wss
    {
    proxy_pass http://127.0.0.1:8282;
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "Upgrade";
    proxy_set_header X-Real-IP $remote_addr;
    }
    在nginx配置如上
    小程序連接url:wss://xxxx.com/wss
    小程序報錯: Error during WebSocket handshake: Unexpected response code: 404
    請問問題???

  • 計算機愛好者 2019-05-14

    @1:手冊寫的是localtion /socket.io 我改成了wss小程序都連接不上

年代過于久遠,無法發(fā)表回答
??