Javascript Yii2使用Yii2节点套接字从php向客户端发送事件
我经常在一个混凝土房间里向客户发送事件。我按照所有步骤在我的项目中安装扩展,服务器成功启动,客户端连接到套接字,但当我试图从php代码发送事件时,客户端没有收到任何数据 Javascript代码:Javascript Yii2使用Yii2节点套接字从php向客户端发送事件,javascript,php,node.js,sockets,yii,Javascript,Php,Node.js,Sockets,Yii,我经常在一个混凝土房间里向客户发送事件。我按照所有步骤在我的项目中安装扩展,服务器成功启动,客户端连接到套接字,但当我试图从php代码发送事件时,客户端没有收到任何数据 Javascript代码: var socket = new YiiNodeSocket(); socket.onConnect(function () { socket.room('testRoom').join(function (success, numberOfRoomSubscribers) { // succ
var socket = new YiiNodeSocket();
socket.onConnect(function () {
socket.room('testRoom').join(function (success, numberOfRoomSubscribers) {
// success - boolean, numberOfRoomSubscribers - number of room members
// if error occurred then success = false, and numberOfRoomSubscribers - contains error message
if (success) {
console.log(numberOfRoomSubscribers + ' clients in room: testRoom');
// do something
// bind events
this.on('join', function (newMembersCount) {
// fire on client join
});
this.on('data', function (data) {
// fire when server send frame into this room with 'data' event
console.log('in data : ', data);
});
} else {
// numberOfRoomSubscribers - error message
alert(numberOfRoomSubscribers);
}
});
});
PHP代码:
// create frame
$frame = Yii::$app->nodeSocket->getFrameFactory()->createEventFrame();
// set event name
$frame->setEventName('data');
// set room name
$frame->setRoom('testRoom');
// set data
$frame['key'] = 'hello';
// send
$frame->send();
你有办法吗?