這個教程寫 聊天框框架代碼解析
先看前端代碼打開
applications/Chat/Web/index.php 這個打開看
先初始化 init()
登錄成功 發(fā)json信息給服務端
var login_data = JSON.stringify({"type":"login","client_name":name,"room_id":<?php echo isset($_GET) ? $_GET : 1?>});
console.log("websocket握手成功,發(fā)送登錄數據:"+login_data);
ws.send(login_data);
然后看服務端接收客戶端的數據
applications/Chat/Event.php 看這個文件
下面看函數是接受客戶端的數據
public static function onMessage($client_id, $message)
$message_data = json_decode($message, true);//解析json
下面邏輯不貼代碼了 我用簡潔的語言表達下
就是服務器收到的數據全部添加到memcache
$key = "ROOM_CLIENT_LIST-$room_id";
添加到了這個$key
首先會判斷這個$key是否有對應的數據 如果沒有數據那就是新建1個數組 給key賦值
如果有 就添加到這個數組
(注!! 每次添加的時候 會清理不在線用戶哦)
以上邏輯代碼在這個函數
public static function addClientToRoom($room_id, $client_id, $client_name)
說完了 其他感覺沒什么好說的。。哪里不懂就留言吧
var login_data = JSON.stringify({"type":"login","client_name":name,"room_id":<?php echo isset($_GET) ? $_GET : 1?>});
這樣的數據,下面能解析么??用這樣的代碼:public static function onMessage($client_id, $message)
$message_data = json_decode($message, true);//解析json 解析不了的吧,這個web頁面用的是websocket協(xié)議,直接json-decode 不行的啊