workerman教程2(新手必看)

a6965921

这个教程写 聊天框框架代码解析

先看前端代码打开

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)

说完了 其他感觉没什么好说的。。哪里不懂就留言吧

阅读 5161
2个回答

walkor

  • 暂无评论
chosen1cwp

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 不行的啊

  • a6965921 2014-10-01

    。。。你看下demo。。有解析代码