Here is almost complete SOLUTION on stackoverflow to my problem
问题是通过PHP与我的节点JS服务器进行通信。我无法理解上面解决方案中的一个细节:
撰写消息42 [“消息”,“您的消息”]'以编码为hybi10(或 hybi13)并发送到websocket
这是什么意思?我的节点js服务器得到了这样的“命令”新消息
socket.on('new message', function (data) {
socket.broadcast.emit('new message', {
username: socket.username,
message: data
});
});
使用解决方案的代码是:
$socketio = new SocketIO();
if ($socketio->send('localhost', 8080, 'message')){
echo 'we sent the message and disconnected';
} else {
echo 'Sorry, we have a mistake :\'(';
}
此代码仅连接到我的服务器,但如何以正确的格式发送“新消息”消息?无法理解这42 [“消息”,“你的消息”]'
答案 0 :(得分:1)
这是针对php客户端的
$socketio->send('localhost', 8080, 'add new message', 'this is my message');
这是服务器端
// Socket receive "add new message" command
socket.on('add new message', function (messageText) {
// print message
console.log(messageText);
// Broadcast to all clients.
socket.broadcast.emit('add new message', {
username: socket.username,
message: messageText
});
});