跳到主要内容

notify_server

简介

通知服务器的启动入口脚本

组件接口

cmd_auth_account.gs

未认证客户端会话对象指令 - 认证登录

函数原型函数作用
mixed main(object session, map args)指令处理入口

cmd_get_all_users.gs

已认证客户端会话对象指令 - 获取所有已认证客户端会话对象信息

函数原型函数作用
map main(object u, map args = )指令处理入口

cmd_ping.gs

已认证客户端会话对象指令 - ping,检查服务器状态

函数原型函数作用
map main(object u, map args)指令处理入口

cmd_push.gs

已认证客户端会话对象指令 - 处理客户端推送数据请求

函数原型函数作用
void main(object user, map para)指令处理入口

common.gs

执行通知服务器启动/关闭流程的模块

函数原型函数作用
void boot()执行通知服务器启动流程
void shutdown()执行通知服务器关闭流程

FCmdBase.gs

网络消息处理器基础组件

函数原型函数作用
string cmd_name()获取消息名称
bool verify(object ob)验证客户端会话对象是否有权限处理该消息
map FAILURE(int id, map info = )生成失败结果
map SUCCESS(map result = )生成成功结果
void send_resp(object ob, mixed cookie, mixed result)发送响应
map get_stat()获取统计信息
string desc()获取描述信息
void dump()调试接口 - 输出统计信息

FSessionCmd.gs

未认证的客户端会话消息处理器组件

函数原型函数作用
bool FCmdBase.verify(object ob)验证客户端会话对象是否有权限处理本消息

FUserCmd.gs

已认证的客户端会话消息处理器组件

函数原型函数作用
bool FCmdBase.verify(object ob)验证客户端会话对象是否有权限处理本消息

AuthD.gs

客户端会话认证模块

函数原型函数作用
bool auth(string token)执行认证

LocationD.gs

维护社交服用户定位信息的功能模块

函数原型函数作用
void add_location(string id, map info)添加社交服用户定位信息
void remove_location(string id, map info)移除用户定位信息
void clean_locations_by_id(string id)清除指定用户的定位信息
void dispatch(string server_id, mixed name_or_names, map args)将数据分发给目标社交服用户
void dump()调试接口 - 输出定位信息

NotifyD.gs

向已认证客户端会话对象发送通知消息的功能模块

函数原型函数作用
void notify(string server_id, mixed name_or_names, map args)发送通知消息

SyncD.gs

向已认证客户端会话对象发送同步操作的功能模块

函数原型函数作用
void sync_arr(array args, map exclude = )向所有用户发送一组同步操作
void sync(string op, ...)向所有用户发送同步操作

UserD.gs

已认证客户端会话对象管理模块

函数原型函数作用
void add_user(object u)添加一个已认证客户端会话对象
void remove_user(object u)移除一个已认证客户端会话对象
object get_user(string id)根据会话对象ID获取已认证客户端会话对象
void walk_all_users(function fn)遍历所有已认证客户端会话对象
map get_all_users_info()获取所有已认证客户端会话对象信息

config.gs

全局配置模块

函数原型函数作用
mixed get(string path)获取配置值
string system_id()获取通知服务器的ID

netd.gs

网络功能模块

函数原型函数作用
void start_server(string name, int port, map para = , bool using_websocket = false)启动服务
void stop_server(string name)停止服务
void dump()调试接口 - 输出服务信息

Session.gs

未通过认证或客户端会话

函数原型函数作用
object unbind_connection()解绑连接
void bind_connection(object conn)绑定连接
bool transfer_connection(object to)将绑定的连接转移给另外一个客户端会话对象
void close_in_seconds(int seconds)指定秒数后关闭本会话
bool is_connected()是不是已连接
void send(string cmd, ...)发送消息
void dump()调试接口 - 输出会话调试信息

User.gs

通过验证的客户端会话

通知服务器的客户一般是社交服务器

函数原型函数作用
string Session.desc()用户描述信息
string get_id()获取用户所对应的ID
string get_ip()获取用户的客户端IP
int get_port()获取用户的客户端端口
void send_sync(string op, ...)立即发送一个同步类型的消息(cmd_sync)到客户端
void send_sync_arr(array args)立即发送一组同步类型的消息到客户端
void send_notify(...)发送一个通知消息(进入发送队列)

样例