资源预览内容
第1页 / 共12页
第2页 / 共12页
第3页 / 共12页
第4页 / 共12页
第5页 / 共12页
第6页 / 共12页
第7页 / 共12页
第8页 / 共12页
第9页 / 共12页
第10页 / 共12页
亲,该文档总共12页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Socket 聊天程序 API 接口typedef unsigned int uint32t;typedef unsigned short uint16t;typedef unsigned short uint8t;#define QF_Register 0x1#define QF_Login 0x2#define QF_ModifyUser 0x3#define QF_ModifyDynamicUser 0x4#define QF_Logout 0x5#define QF_UploadHeadImage 0x6#define QF_DownloadHeadImage 0x7#define QF_DeleteHeadImage 0x8#define QF_HeartBeat 0x9#define QF_Profile 0x10#define QF_SaveOfflineMsg 0x12#define QF_ReadOfflineMsg 0x13/*Socket聊天程序API接口*/* 请求头的通用类型 */struct QFChatRequestProtocol uint32t type; /* 协议类型 */uint32t subType; /* 协议子类型 */uint32t payloadLength; /* 协议内容长度 */uint32t reserverd; /* 保留字段 */;/* 响应头的通用类型 */struct QFChatResponseProtocol uint32t payloadLength; /* 协议内容长度 */uint32t status;char msg128;/* 用户静态信息: */struct QFUserInfo uint32t userID; /* 用户在服务器数据库上存放的ID */char username32; /* 用户名; 用户名不能修改 */char password32; /* 密码 */char nickname128; /* 昵称 */char qmd128; /* 用户的签名档 */;/* 用户动态信息: */#define QFUSER_INFO_STATUS (1= 0; */struct QFRegisterResponse struct QFChatResponseProtocol response;/*status = 0 成功返回status = 0, struct QFRegisterResponse struct QFChatResponseProtocol response,;status = 0 成功返回status 0 错误错误信息放在 msg 中2. 登陆 Loginstruct QFLoginRequest struct QFChatProtocol header, char username32, /* 用户名 */char password32, /* 密码 */char lanIP32, /* 局域网的 ip 地址 */char lanPort32, /* 局域网的端口 */float gpsLatitude,float gpsLongitude,;成功后返回struct QFLoginResponse struct QFChatResponseProtocol response,uint32 userID,;3. 修改用户信息 ModifyUserstruct QFModifyUserRequest struct QFChatProtocol header, struct QFUserInfo user;成功返回struct QFModifyUserResponse struct QFChatResponseProtocol response,struct QFUserInfo user;3. 修改用户动态信息 ModifyDynamicUserstruct QFModifyDynamicUserRequest struct QFChatProtocol header, struct QFDynamicUserInfo user;主要是上传用户的 ip地址, gps 信息, 还有隐身状态等成功返回struct QFModifyDynamicUserResponse struct QFChatResponseProtocol response,struct QFDynamicUserInfo user;4. 注销用户 Logoutstruct QFLogoutRequest struct QFChatProtocol header, uint32t userID,;成功返回struct QFLogoutResponse struct QFChatResponseProtocol response,;5. 上传用户头像 UploadHeadImagestruct QFUploadHeadRequest struct QFChatProtocol header, uint32t userID,char imageData0, /* 头像图片数据 */;成功返回struct QFUploadHeadUserResponse struct QFChatResponseProtocol response,;6. 获取用户头 像 DownloadHeadImagestruct QFDownloadHeadImageRequest struct QFChatProtocol header, uint32t userID, /* 要获取用户的 id */;成功返回struct QFDownloadHeadImageResponse struct QFChatResponseProtocol response,uint8t imageLength, /* 返回头像图片的字 节数 */char data0,;6. 删除用户头 像 DeleteHeadImagestruct QFDeleteHeadImageRequest struct QFChatProtocol header, uint32t userID, /* 要删除用户的 id */ ;成功返回struct QFDeleteHeadImageResponse struct QFChatResponseProtocol response,;7. 心跳 HeartBeatstruct QFHeartBeatRequest struct QFChatProtocol header, uint32t seq,/* 心跳序列号(客户端每隔 10s 需要发送一个心跳信号 给服务器) 否则服务器 认为当前用 户掉线了*/成功后返回struct QFHeartBeatResponse struct QFChatResponseProtocol response,uint32 seq,;/* 返回心跳序列号+1 */8. 获取单个用户信息 Profilestruct QFProfileRequest struct QFChatProtocol header, uint32 userID,;获取用户 userID的 Profile如果 userID = 0 那么获取自己当前用户的 Profile成功后返回struct QFProfileResponse struct QFChatResponseProtocol response,/* 用户静态信息 */struct QFUserInfo user,/* 用户动态信息 */struct QFDynamicUserInfo user,;9. 获取多个用户信息 Profile后续离线消息部分10. 存放离线聊天信息 SaveOfflineMsgstruct QFSaveMessageRequest struct QFChatProtocol header, struct QFMessageBundle msg,;#define QFMSG_TEXT (11)#define QFMSG_IMAGE (12)#define QFMSG_VOICE (13)struct QFMessageBundle uint32 fromUserID, uint32 toUserID,uint32t msgNum, /* 一共多少条消息消息的条数 */uint32t type, /* 总的消息类型, 比如知道都有哪些消息 */uint32t msgTotalLength, /* 消息总长度 */struct QFMessage msgs0,;struct QFMessage uint32t type, /* 单次消息类型 */uint32t msgLength, /* 单词消息长度 */char msgBody0, /* 消息体 */;用户 1发送给用户 2的离线消息 (比如用户 2下线了 )成功后返回struct QFSaveMessageResponse struct QFChatResponseProtocol response, ;11. 读取离线聊天信息 ReadOfflineMsgstruct QFReadOfflineMessageRequest struct QFChatProtocol header, uint32 userID,;返回struct QFReadOfflineMessageResponse struct QFChatResponseProtocol response, struct QFMessageBundle msgBundle,;/* 如果没有离线消息,那么 msgBundle.msgNum = 0 */
收藏 下载该资源
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号