Socket聊天程序API接口.docx_第1页
Socket聊天程序API接口.docx_第2页
Socket聊天程序API接口.docx_第3页
Socket聊天程序API接口.docx_第4页
Socket聊天程序API接口.docx_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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 (11)#define QFUSER_INFO_LAN (12)#define QFUSER_INFO_WAN (13)#define QFUSER_INFO_GPS (1= 0; */struct QFRegisterResponse struct QFChatResponseProtocol response;/*status = 0 成功返回status 0 错误错误信息放在msg中*/* 2. 登陆Login */struct QFLoginRequest struct QFChatRequestProtocol header; char username32; /* 用户名 */ char password32; /* 密码 */ char lanIP32; /* 局域网的ip地址 */ char lanPort32; /* 局域网的端口 */ float gpsLatitude; float gpsLongitude;/* 成功后返回 */struct QFLoginResponse struct QFChatResponseProtocol response; uint32 userID;/* 3. 修改用户信息ModifyUser */struct QFModifyUserRequest struct QFChatRequestProtocol header; struct QFUserInfo user;/*成功返回 */struct QFModifyUserResponse struct QFChatResponseProtocol response; struct QFUserInfo user;/* 3. 修改用户动态信息ModifyDynamicUser */struct QFModifyDynamicUserRequest struct QFChatRequestProtocol header; struct QFDynamicUserInfo user;/*主要是上传用户的ip地址; gps信息; 还有隐身状态等成功返回 */struct QFModifyDynamicUserResponse struct QFChatResponseProtocol response; struct QFDynamicUserInfo user;/* 4. 注销用户 Logout */struct QFLogoutRequest struct QFChatRequestProtocol header; uint32t userID;/* 成功返回 */struct QFLogoutResponse struct QFChatResponseProtocol response;/* 5. 上传用户头像UploadHeadImage */struct QFUploadHeadRequest struct QFChatRequestProtocol header; uint32t userID; char imageData0; /* 头像图片数据 */;/* 成功返回 */struct QFUploadHeadUserResponse struct QFChatResponseProtocol response;/* 6. 获取用户头像DownloadHeadImage */struct QFDownloadHeadImageRequest struct QFChatRequestProtocol header; uint32t userID; /* 要获取用户的id */;/* 成功返回 */struct QFDownloadHeadImageResponse struct QFChatResponseProtocol response; uint8t imageLength; /* 返回头像图片的字节数 */ char data0;/* 6. 删除用户头像DeleteHeadImage */struct QFDeleteHeadImageRequest struct QFChatRequestProtocol header; uint32t userID; /* 要删除用户的id */;/* 成功返回 */struct QFDeleteHeadImageResponse struct QFChatResponseProtocol response;/* 7. 心跳HeartBeat */struct QFHeartBeatRequest struct QFChatRequestProtocol header; uint32t seq;/* 心跳序列号(客户端每隔10s需要发送一个心跳信号给服务器) 否则服务器认为当前用户掉线了成功后返回 */struct QFHeartBeatResponse struct QFChatResponseProtocol response; uint32 seq;/* 返回心跳序列号+1 */* 8. 获取单个用户信息Profile */struct QFProfileRequest struct QFChatRequestProtocol header; uint32 userID;/* 获取用户userID的Profile如果userID = 0 那么获取自己当前用户的Profile成功后返回 */struct QFProfileResponse struct QFChatResponseProtocol response; /* 用户静态信息 */ struct QFUserInfo userInfo; /* 用户动态信息 */ struct QFDynamicUserInfo duserInfo;/* 9. 获取多个用户信息Profiles后续*/ 离线消息部分#define QFMSG_TEXT (11)#define QFMSG_IMAGE (12)#define QFMSG_VOICE (13)struct QFMessage uint32t type; /* 单次消息类型 */ uint32t msgLength; /* 单词消息长度 */ char msgBody0; /* 消息体 */;struct QFMessageBundle uint32 fromUserID; uint32 toUserID; uint32t type; /* 总的消息类型; 比如知道都有哪些消息 */ uint32t msgNum; /* 一共多少条消息消息的条数 */ uint32t msgTotalLength; /* 消息总长度 */ struct QFMessage msgs0;/* 10. 存放离线聊天信息SaveOfflineMsg */struct QFSaveMessageRequest struct QFChatRequestProtocol header; struct QFMessageBundle msg;/*用户1发送给用户2的离线消息(比如用户2下线了)成功后返回 */struct QFSaveMessageResponse struct QFChatResponseProtocol response;/* 11. 读取离线聊天信息ReadOfflineMsg */struct QFReadOfflineMessageRequest struct QFChatRequestProtocol header; uint32 userID;/* 返回 */struct QFReadOfflineMessageResponse struct QFChatResponseProtocol response; struct QFMessageBundle msgBundle;/* 如果没有离线消息,那么 msgBundle.msgNum = 0 */=初稿=/* 请求头的通用类型 */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 (11)#define QFUSER_INFO_LAN (12)#define QFUSER_INFO_WAN (13)#define QFUSER_INFO_GPS (1= 0, struct QFRegisterResponse struct QFChatResponseProtocol response,;status = 0 成功返回status 0 错误错误信息放在msg中2. 登陆Login struct 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. 修改用户信息ModifyUser struct QFModifyUserRequest struct QFChatProtocol header, struct QFUserInfo user; ;成功返回 struct QFModifyUserResponse struct QFChatResponseProtocol response, struct QFUserInfo user; ;3. 修改用户动态信息ModifyDynamicUser struct QFModifyDynamicUserRequest struct QFChatProtocol header, struct QFDynamicUserInfo user; ;主要是上传用户的ip地址, gps信息, 还有隐身状态等成功返回 struct QFModifyDynamicUserResponse struct QFChatResponseProtocol response, struct QFDynamicUserInfo user; ;4. 注销用户 Logout struct QFLogoutRequest struct QFChatProtocol header, uint32t userID, ;成功返回 struct QFLogoutResponse struct QFChatResponseProtocol response, ;5. 上传用户头像UploadHeadImage struct QFUploadHeadRequest struct QFChatProtocol header, uint32t userID, char imageData0, /* 头像图片数据 */ ;成功返回 struct QFUploadHeadUserResponse struct QFChatResponseProtocol response, ;6. 获取用户头像DownloadHeadImage struct QFDownloadHeadImageRequest struct QFChatProtocol header, uint32t userID, /* 要获取用户的id */ ;成功返回 struct QFDownloadHeadImageResponse struct QFChatResponseProtocol response, uint8t imageLength, /* 返回头像图片的字节数 */ char data0, ;6. 删除用户头像DeleteHeadImage struct QFDeleteHeadImageRequest struct QFChatProtocol header, uint32t userID, /* 要删除用户的id */ ;成功返回 struct QFDeleteHeadImageResponse struct QFChatResponseProtocol response, ;7. 心跳HeartBeat struct QFHeartBeatRequest struct QFChatProtocol header, uint32t seq, /* 心跳序列号(客户端每隔10s需要发送一个心跳信号给服务器) 否则服务器认为当前用户掉线了*/ 成功后返回 struct QFHeartBeatResponse struct QFChatResponseProtocol response, uint32 seq, ;/* 返回心跳序列号+1 */8. 获取单个用户信息Profile struct 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. 存放离线聊天信息SaveOfflineMsg struct QFSaveMessageRequ

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论