这个教程写 聊天框框架代码解析
先看前端代码打开
applications/Chat/Web/index.php 这个打开看
先初始化 init()
登录成功 发json信息给服务端
var login_data = JSON.stringify({"type":"login","client_name":name,"room_id":<?php echo isset($_GET) ? $_GET : 1?>});
console.log("websocket握手成功,发送登录数据:"+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协议,直接json-decode 不行的啊
。。。你看下demo。。有解析代码