求救 在laravel 框架中的phpsocketio插件写的服务端长连接, 但Java安卓APP客户端无法连接,
客户端能接通 对应端口,但彼此都接收不到信息,客户端是安卓APP
服务端写在console 下的, 用命令启动服务
$io = new SocketIO(config('app.socket_port'));
Helpers::add_log('长连接测试0');
// 当有客户端连接时
$io->on('connection', function($socket) use ($io){
echo 1;
$socket->send('send'.'\n');//向客户端发送消息
$socket->write('write'.'\n');//向客户端发送消息
//接收客户端发送的消息
$socket->on('message',function($return) use($socket){
echo $return;
$socket->send($return.'\n');
});
$socket->on('phone',function($return)use($socket){
if(isset($return['to'])){
Helpers::add_log('长连接测试6',[$return]);
$socket->to($return['to'])->emit('phone_return', $return);
}else{
Helpers::add_log('参数传递错误');
}
$response=['code'=>1,'message'=>'请求成功'];
return $socket->send(json_encode($response,JSON_UNESCAPED_UNICODE));
});
});
Worker::runAll();
我用对应的插件js写的浏览器客户端 ,没问题,
<script src='{{admin_asset("/js/socket.io.js")}}'></script>
<script>
$(function(){
// 连接服务端
var socket = io('127.0.0.1:2120');
if(!socket){
console.log(11);
}
socket.on('connect', function (data) {
socket.send('客户端send');//向服务端发送消息
var uid=100;
console.log('连接成功');
socket.emit('login', uid);//加入login分组
});
//接收客户端发送的消息
socket.on('message',function(data){
console.log(data)
})
$('h5').on('click',function(){//点击触发
console.log('phone_over');
socket.emit('phone', {to:100,msg:'phone_'});//向服务端发送消息
})
})
</script>
APP客户端应用是另外一位安卓开发人员写的, 用的Java开发,他自己写的一套,用自己的方式测试也没问题, 但我们两个的内容彼此都不能互通
推荐文章: