前面已经说过如何搭建GatewayWorker环境。
关于如何搭建GatewayWorker环境可以参考本:
http://blog.youkuaiyun.com/incloud_anke/article/details/50619441
下面说一些逻辑文件Event.php
1. onMessage函数处理有客户端请求时的处理函数
这里主要处理客户端传递过来的json数据,并与其交互。
/**
* 有消息时
* @param int $client_id
* @param string $message
*/
public static function onMessage($client_id, $message)
{
// 客户端传递的是json数据
$message_data = json_decode($message, true);
if(!$message_data)
{
return ;
}
$db1 = Db::instance('db1');
// 根据类型执行不同的业务
switch($message_data['type'])
{
case 'aaa':
Gateway::sendToCurrentClient("hello aaa");
return;
}
}
说明:这里是接收客户端发送{"type":"aaa"} 服务端返回hello aaa
编写好上面代码:下面我们就测试下:
1.首先要启动根目录下的 start.php
启动方式 :php start.php start -d 在后台启动
2.telnet方式模拟客户端:
telnet ip地址 56250 (端口号已经配置好)
出现如下:
表示已经模拟登录成功:等待输入:
3.输入{"type":"aaa"}json数据 服务端会返回hello aaa
如:
这样就这命消息ok!