Php Elephant.io+;Socket.io返回[对象]
我正在尝试在symfony2应用程序上与Elephantio.io(Elephantio捆绑包)和Socket.io进行实时聊天 socket.io服务器和我的symfony应用程序之间的连接工作正常,但当我尝试将数据传递到socket.io时,它返回[object] 我是这样做的:Php Elephant.io+;Socket.io返回[对象],php,symfony,socket.io,Php,Symfony,Socket.io,我正在尝试在symfony2应用程序上与Elephantio.io(Elephantio捆绑包)和Socket.io进行实时聊天 socket.io服务器和我的symfony应用程序之间的连接工作正常,但当我尝试将数据传递到socket.io时,它返回[object] 我是这样做的: #Config.yml nc_elephant_io: clients: default: connection: http://localhost:3006
#Config.yml
nc_elephant_io:
clients:
default:
connection: http://localhost:3006
version: 1.x
socketio_key:
connection: http://localhost:3000
version: 1.x
我的控制器
public function indexAction()
{
$client = $this->get('elephantio_client.socketio_key');
$elephantIOClient = $client->getElephantIO();
$elephantIOClient->initialize();
$elephantIOClient->emit('chat message', ['msg' => 'bar']);
$elephantIOClient->close();
return $this->render('default/index.html.twig');
}
myserver.js
var io = require('socket.io').listen(3000);
io.on('connection', function(socket){
console.log('a user connected');
socket.on('chat message', function(msg){
console.log('message: ' + msg);
});
socket.on('disconnect', function(){
console.log('user disconnected');
});
});
当我刷新索引页时,它会返回
已连接的用户
但是我的“msg”数据就在这里声明了
$elephantIOClient->emit('chat message',['msg'=>'bar'])
未呈现或未传递到socket.io并返回
已连接的用户
消息:[对象]
用户断开连接
我已经读过关于这个问题的主题,但从未读过php/elephant.io实现
是否有人已经有了这个问题,或者你也有一些想法来解决这个问题
谢谢。很抱歉回复太晚,但由于我正在项目中处理socket.io和elephant.io,所以我在这里登陆。 无论如何,您的连接是完美的,因为您正在客户端
console.log('message:'+msg)中记录一个对象代码>结果是[object object]
。请尝试使用
运算符获取实际数据
socket.on('chat message', function(msg){
console.log('message: ' + msg.msg);
//^^^^-- here since you are sending your object as "msg" from server
}
是的,这很好用,但现在我只在js文件中使用node.js,没有象.io,它工作起来很有魅力,但我不知道这是不是一个好方法。