跳到主要内容

social_client

简介

作为客户端接入社交服务器social server

社交服务器的参考文档

组件接口

FSocialClientCmds.gs

社交服客户端命令接口组件

函数原型函数作用
SocialClientCmdBase cmd_ack_make_friend()新建一个发送客户端命令[cmd_ack_make_friend]的class实例
SocialClientCmdBase cmd_add_blacklist()新建一个发送客户端命令[cmd_add_blacklist]的class实例
SocialClientCmdBase cmd_add_chat_member()新建一个发送客户端命令[cmd_add_chat_member]的class实例
SocialClientCmdBase cmd_add_dimension_chatroom_member()新建一个发送客户端命令[cmd_add_dimension_chatroom_member]的class实例
SocialClientCmdBase cmd_add_friend()新建一个发送客户端命令[cmd_add_friend]的class实例
SocialClientCmdBase cmd_auth_account()新建一个发送客户端命令[cmd_auth_account]的class实例
SocialClientCmdBase cmd_auth_agent_register()新建一个发送客户端命令[cmd_auth_agent_register]的class实例
SocialClientCmdBase cmd_batch_delete_mail()新建一个发送客户端命令[cmd_batch_delete_mail]的class实例
SocialClientCmdBase cmd_batch_read_mail()新建一个发送客户端命令[cmd_batch_read_mail]的class实例
SocialClientCmdBase cmd_comment_moment()新建一个发送客户端命令[cmd_comment_moment]的class实例
SocialClientCmdBase cmd_erase_moment()新建一个发送客户端命令[cmd_erase_moment]的class实例
SocialClientCmdBase cmd_erase_moment_comment()新建一个发送客户端命令[cmd_erase_moment_comment]的class实例
SocialClientCmdBase cmd_fetch_account_profile_fields()新建一个发送客户端命令[cmd_fetch_account_profile_fields]的class实例
SocialClientCmdBase cmd_fetch_moment()新建一个发送客户端命令[cmd_fetch_moment]的class实例
SocialClientCmdBase cmd_fetch_moment_comment()新建一个发送客户端命令[cmd_fetch_moment_comment]的class实例
SocialClientCmdBase cmd_modify_moment()新建一个发送客户端命令[cmd_modify_moment]的class实例
SocialClientCmdBase cmd_modify_moment_comment()新建一个发送客户端命令[cmd_modify_moment_comment]的class实例
SocialClientCmdBase cmd_new_moment_photo()新建一个发送客户端命令[cmd_new_moment_photo]的class实例
SocialClientCmdBase cmd_recv_moment()新建一个发送客户端命令[cmd_recv_moment]的class实例
SocialClientCmdBase cmd_recv_moment_comments()新建一个发送客户端命令[cmd_recv_moment_comments]的class实例
SocialClientCmdBase cmd_send_moment()新建一个发送客户端命令[cmd_send_moment]的class实例
SocialClientCmdBase cmd_set_account_profile_fields()新建一个发送客户端命令[cmd_set_account_profile_fields]的class实例
SocialClientCmdBase cmd_set_no_disturb()新建一个发送客户端命令[cmd_set_no_disturb]的class实例
SocialClientCmdBase cmd_upload_moment_photo()新建一个发送客户端命令[cmd_upload_moment_photo]的class实例
SocialClientCmdBase cmd_drop_dimension_chat_message()新建一个发送客户端命令[cmd_drop_dimension_chat_message]的class实例
SocialClientCmdBase cmd_pull_dimension_chat_message()新建一个发送客户端命令[cmd_pull_dimension_chat_message]的class实例
SocialClientCmdBase cmd_batch_take_mail_attachment()新建一个发送客户端命令[cmd_batch_take_mail_attachment]的class实例
SocialClientCmdBase cmd_batch_update_mail_status()新建一个发送客户端命令[cmd_batch_update_mail_status]的class实例
SocialClientCmdBase cmd_check_account()新建一个发送客户端命令[cmd_check_account]的class实例
SocialClientCmdBase cmd_check_chat_member()新建一个发送客户端命令[cmd_check_chat_member]的class实例
SocialClientCmdBase cmd_create_account()新建一个发送客户端命令[cmd_create_account]的class实例
SocialClientCmdBase cmd_destroy_account()新建一个发送客户端命令[cmd_destroy_account]的class实例
SocialClientCmdBase cmd_drop_chatroom()新建一个发送客户端命令[cmd_drop_chatroom]的class实例
SocialClientCmdBase cmd_drop_dimension_chatroom()新建一个发送客户端命令[cmd_drop_dimension_chatroom]的class实例
SocialClientCmdBase cmd_erase_chat_message()新建一个发送客户端命令[cmd_erase_chat_message]的class实例
SocialClientCmdBase cmd_erase_dimension_chat()新建一个发送客户端命令[cmd_erase_dimension_chat]的class实例
SocialClientCmdBase cmd_erase_mails()新建一个发送客户端命令[cmd_erase_mails]的class实例
SocialClientCmdBase cmd_erase_private_chat()新建一个发送客户端命令[cmd_erase_private_chat]的class实例
SocialClientCmdBase cmd_erase_user_chat()新建一个发送客户端命令[cmd_erase_user_chat]的class实例
SocialClientCmdBase cmd_erase_world_chat()新建一个发送客户端命令[cmd_erase_world_chat]的class实例
SocialClientCmdBase cmd_fetch_mails()新建一个发送客户端命令[cmd_fetch_mails]的class实例
SocialClientCmdBase cmd_fetch_private_chat()新建一个发送客户端命令[cmd_fetch_private_chat]的class实例
SocialClientCmdBase cmd_get_mail_info()新建一个发送客户端命令[cmd_get_mail_info]的class实例
SocialClientCmdBase cmd_list_blacklist()新建一个发送客户端命令[cmd_list_blacklist]的class实例
SocialClientCmdBase cmd_list_chatrooms()新建一个发送客户端命令[cmd_list_chatrooms]的class实例
SocialClientCmdBase cmd_list_friends()新建一个发送客户端命令[cmd_list_friends]的class实例
SocialClientCmdBase cmd_list_make_friend_reqs()新建一个发送客户端命令[cmd_list_make_friend_reqs]的class实例
SocialClientCmdBase cmd_list_private_chat_targets()新建一个发送客户端命令[cmd_list_private_chat_targets]的class实例
SocialClientCmdBase cmd_ping()新建一个发送客户端命令[cmd_ping]的class实例
SocialClientCmdBase cmd_pull_mail_list()新建一个发送客户端命令[cmd_pull_mail_list]的class实例
SocialClientCmdBase cmd_pull_private_chat_list()新建一个发送客户端命令[cmd_pull_private_chat_list]的class实例
SocialClientCmdBase cmd_recv_chat_message()新建一个发送客户端命令[cmd_recv_chat_message]的class实例
SocialClientCmdBase cmd_recv_dimension_chat()新建一个发送客户端命令[cmd_recv_dimension_chat]的class实例
SocialClientCmdBase cmd_recv_mail()新建一个发送客户端命令[cmd_recv_mail]的class实例
SocialClientCmdBase cmd_recv_private_chat()新建一个发送客户端命令[cmd_recv_private_chat]的class实例
SocialClientCmdBase cmd_recv_user_chat()新建一个发送客户端命令[cmd_recv_user_chat]的class实例
SocialClientCmdBase cmd_recv_world_chat()新建一个发送客户端命令[cmd_recv_world_chat]的class实例
SocialClientCmdBase cmd_remove_blacklist()新建一个发送客户端命令[cmd_remove_blacklist]的class实例
SocialClientCmdBase cmd_remove_chat_member()新建一个发送客户端命令[cmd_remove_chat_member]的class实例
SocialClientCmdBase cmd_remove_dimension_chatroom_member()新建一个发送客户端命令[cmd_remove_dimension_chatroom_member]的class实例
SocialClientCmdBase cmd_remove_friend()新建一个发送客户端命令[cmd_remove_friend]的class实例
SocialClientCmdBase cmd_req_make_friend()新建一个发送客户端命令[cmd_req_make_friend]的class实例
SocialClientCmdBase cmd_send_chat_message()新建一个发送客户端命令[cmd_send_chat_message]的class实例
SocialClientCmdBase cmd_send_dimension_chat()新建一个发送客户端命令[cmd_send_dimension_chat]的class实例
SocialClientCmdBase cmd_send_mail()新建一个发送客户端命令[cmd_send_mail]的class实例
SocialClientCmdBase cmd_send_private_chat()新建一个发送客户端命令[cmd_send_private_chat]的class实例
SocialClientCmdBase cmd_send_sys_chat_message()新建一个发送客户端命令[cmd_send_sys_chat_message]的class实例
SocialClientCmdBase cmd_send_sys_mail()新建一个发送客户端命令[cmd_send_sys_mail]的class实例
SocialClientCmdBase cmd_send_sys_world_chat()新建一个发送客户端命令[cmd_send_sys_world_chat]的class实例
SocialClientCmdBase cmd_send_user_chat()新建一个发送客户端命令[cmd_send_user_chat]的class实例
SocialClientCmdBase cmd_send_world_chat()新建一个发送客户端命令[cmd_send_world_chat]的class实例
SocialClientCmdBase cmd_take_mail_attachment()新建一个发送客户端命令[cmd_take_mail_attachment]的class实例
SocialClientCmdBase cmd_update_dimension_chatroom_member()新建一个发送客户端命令[cmd_update_dimension_chatroom_member]的class实例
SocialClientCmdBase cmd_update_mail_status()新建一个发送客户端命令[cmd_update_mail_status]的class实例
SocialClientCmdBase cmd_ban_chat()新建一个发送客户端命令[cmd_ban_chat]的class实例
SocialClientCmdBase cmd_ban_fake_chat()新建一个发送客户端命令[cmd_ban_fake_chat]的class实例
SocialClientCmdBase cmd_ban_global()新建一个发送客户端命令[cmd_ban_global]的class实例
SocialClientCmdBase cmd_drop_chatroom_message()新建一个发送客户端命令[cmd_drop_chatroom_message]的class实例
SocialClientCmdBase cmd_drop_private_chat_message()新建一个发送客户端命令[cmd_drop_private_chat_message]的class实例
SocialClientCmdBase cmd_drop_sys_mail()新建一个发送客户端命令[cmd_drop_sys_mail]的class实例
SocialClientCmdBase cmd_drop_world_message()新建一个发送客户端命令[cmd_drop_world_message]的class实例
SocialClientCmdBase cmd_gm_list_chatrooms()新建一个发送客户端命令[cmd_gm_list_chatrooms]的class实例
SocialClientCmdBase cmd_gm_list_private_chat_targets()新建一个发送客户端命令[cmd_gm_list_private_chat_targets]的class实例
SocialClientCmdBase cmd_gm_post_event()新建一个发送客户端命令[cmd_gm_post_event]的class实例
SocialClientCmdBase cmd_gm_set_port_recv_size()新建一个发送客户端命令[cmd_gm_set_port_recv_size]的class实例
SocialClientCmdBase cmd_pull_banned_accounts()新建一个发送客户端命令[cmd_pull_banned_accounts]的class实例
SocialClientCmdBase cmd_pull_chatroom_message()新建一个发送客户端命令[cmd_pull_chatroom_message]的class实例
SocialClientCmdBase cmd_pull_private_chat_message()新建一个发送客户端命令[cmd_pull_private_chat_message]的class实例
SocialClientCmdBase cmd_pull_sys_mail()新建一个发送客户端命令[cmd_pull_sys_mail]的class实例
SocialClientCmdBase cmd_pull_world_message()新建一个发送客户端命令[cmd_pull_world_message]的class实例

SocialClient.gs

处理social server连接的对象

信息

本对象包含组件:pkg.request_client

函数原型函数作用
bool ping()检查目标主机是否可用
string get_name()获取本连接关联的账号
mixed get_server_id()获取本连接的所属服务器

social_client.gs

函数原型函数作用
object create_client(map para)创建一个连接social server的客户端连接对象

SocialClientCmdBase

社交服客户端命令的基础class

成员变量

变量名类型初始值须初始化描述
cmdstringnil可选命令名称
client_obobjectnil可选客户端对象

成员方法

函数原型函数作用
bool send(map args)发送客户端命令(不等待结果)
mixed send_request(map args, int timeout_seconds = -1)发送消息并且等待消息结果(阻塞等待)

样例

import pkg.social_client;

public void sample()
{
// 作为普通权限客户端连接社交服
map para = {
"using_websocket" : false,
"host" : "127.0.0.1", // 社交服地址
"port" : 8441, // 社交服端口
"account" : "test1", // 登录的用户名
"auth_account_para" : {
}, // 其它有助于验证的参数
"server_id" : "gs1", // 所属服务器

"port_recv_size" : 1024*256, // 接收缓冲区大小,这里设置为256K
"cookieless_msg_queue" : queue.create(""), // 用于接收通知消息的队列

"auth_success_callback" : (: when_auth_success :), // 登录成功后的回调
};
object ob = social_client.create_client(para);
ob.ping();
}

void when_auth_success()
{
printf("Establish connection to social server successful.\n");
}

void sample2()
{
// 作为管理员权限客户端连接社交服
map para = {
"using_websocket" : false,
"host" : "127.0.0.1", // 社交服地址
"port" : 8441, // 社交服端口
"account" : "admin", // 登录的用户名
"auth_account_para" : {
"password" : "passwordpassword",
}, // 管理员权限使用账号密码登录,password是必要字段
"server_id" : "gs1", // 所属服务器

"port_recv_size" : 1024*256, // 接收缓冲区大小,这里设置为256K
"auth_success_callback" : (: when_auth_success :), // 登录成功后的回调
"act_as_agent" : {
"url" : "http://localhost:14567/public/auth_social_account",
}, // 本连接注册为验证代理,url是用于验证普通账号的页面地址
};
object ob = social_client.create_client(para);
ob.ping();
}