1.register和gateWay在一臺, business在一臺.gate使用ws協(xié)議.
2.business的Event類實現(xiàn)onWebSocketConnect, 在該方法中調(diào)用Gateway::sendToClient($client_id, "Hello $client_id\r\n");
客戶端無接收onMessage
business
public static function onWebSocketConnect($client_id, $data)
{
var_export('onWebSocketConnect: ' . $client_id);
var_export('isOnline: ' . Gateway::isOnline($client_id));
var_export('getAllClientIdList: ');
var_export(Gateway::getAllClientIdList());
// 向當(dāng)前client_id發(fā)送數(shù)據(jù)
Gateway::sendToClient($client_id, "Hello $client_id\r\n");
}
js
websocket = new WebSocket("ws://127.0.0.1:18282");
//連接發(fā)生錯誤的回調(diào)方法
websocket.onerror = function(e) {
console.log("llws連接錯誤!");
setMessageInnerHTML("llws連接關(guān)閉!onerror"+new Date().toLocaleString());
};
//連接成功建立的回調(diào)方法
websocket.onopen = function(event) {
setInterval(function(){
send({type:'ping'});
}, 10000)
setMessageInnerHTML("llws連接成功!"+new Date().toLocaleString());
}
//接收到消息的回調(diào)方法
websocket.onmessage = function(event) {
console.log(event);
console.log("llws收到消息啦:" +event.data);
setMessageInnerHTML(event.data);
}
//連接關(guān)閉的回調(diào)方法
websocket.onclose = function(e) {
console.log("llws連接關(guān)閉!onclose"+new Date().toLocaleString());
setMessageInnerHTML("llws連接關(guān)閉!onclose"+new Date().toLocaleString());
}
business
的打印信息
register
的信息
docker