php socket.io 安装失败,socket.io(客户端) 连接失败

客户端:socket.io version 2.2.1

服务器端: phpsocketio

客户端代码:

var socket = io("$socket_address");

//socket.heartbeatTimeout = 10000;

var room_id = $('#room_id').text();

var room_name = $('#room_name').text();

var username = $('#username').text();

socket.on('connect', function(){

console.log('connect success');

socket.emit('subscribe', {'room_id':room_id,'username':username});

$('#status').text('连接');

$('#status').addClass('text-success').removeClass('text-danger');

});

服务器端代码:

$io = new SocketIO(8890);

$io->on('workerStart', function() use ($io){

});

$io->on('connection', function($socket) use($io){

echo "New client connected ".$socket->conn->remoteAddress."\n";

$socket->on('chat message', function($msg) use($io){

$io->emit('chat message', $msg);

});

$socket->on('subscribe', function($data) use($socket, $io){

//var_dump($io->sockets->adapter->rooms);

$room_id = $data;

$username = $data;

echo ("$username - Joining room ". $room_id."\n");

$socket->join("room".$room_id);

});

$socket->on('unsubscribe', function($room) use($socket, $io){

echo ("Leaving room ". $room."\n");

$socket->leave($room);

});

$socket->on('message', function($message) use ($socket, $io){

echo "Received a message: ".$message."\n";

$obj = json_decode($message);

echo "room is ".$obj->room. " ID: ". $obj->room_id."\n";

//$io->to("room".$obj->room_id)->emit("room".$obj->room_id, $message);

$io->emit("room".$obj->room_id, $message);

});

$socket->on('disconnect', function() use($socket) {

echo ("client disconnected ".$socket->conn->remoteAddress."\n");

});

});

Worker::runAll();

结果

client disconnected 118.200.125.242:41557

New client connected 118.200.125.242:41513

yundong - Joining room 53

client disconnected 118.200.125.242:41513

New client connected 118.200.125.242:41513

client disconnected 118.200.125.242:41557

在电脑上没有问题, console里面可以看到 ‘connect success';

但在android的chrome上面,‘connect’有时候激发的比较晚,客户端(socket.emit('subscribe', {'room_id':room_id,'username':username});)没有执行 (socket.connected 打印结果是true)

服务器端log可以看到已连接 “New client connected"

请大家帮我看看 谢谢

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值