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(...) | 发送一个通知消息(进入发送队列) |
样例