
我的QQ开发文档
5星
- 浏览量: 0
- 大小:None
- 文件类型:DOC
简介:
《我的QQ开发文档》是一份详细的指南,涵盖了腾讯QQ软件的各项功能和接口使用方法,旨在帮助开发者更好地进行二次开发。
MyQQ开发文档
本段落档旨在设计一个基于服务器客户端架构的聊天程序——MyQQ,使用Socket套接字库进行网络编程,并结合UDP与TCP/IP连接方式以确保数据传输效率及完整性。
### 程序设计目的:
1. 练习使用套接字实现网络通信。
2. 学会处理自定义消息。
3. 掌握多线程编程思想的应用。
4. 实践各种控件的使用方法。
#### 服务器与客户端通信模型:
1. 启动服务器并监听6020端口,等待连接请求。
2. 客户端发起连接,并发送用户信息至服务器。
3. 服务器验证用户信息后反馈结果给客户机。
4. 验证通过后,将好友列表发给客户端,并指示启动聊天接收线程。
5. 应用程序初始化成功。
#### 文件传输流程:
1. 用户A向用户B发起文件传送请求并附带相关信息等待响应。
2. 用户B收到请求后回复是否同意接受。若同意,则通知用户A准备发送;否则,告知拒绝接收。
3. 用户A根据反馈执行相应操作。
4. 开始实际的文件传输过程。
### 程序相关连接及端口信息:
#### UDP部分:
- 服务器监听6020端口:用于接收客户端登录和申请号码等用户数据
- 客户机发送/接收身份验证结果分别使用端口号6030与6000
#### TCP/IP部分:
- 端口4000用途包括:
- 接收好友信息
- 发送DOS命令至服务器(格式:^+命令)或启动网页(格式:&+网址)
### 服务端发送消息用户指南:
1. 启动MyQQ服务器程序。
2. 输入用户名进行登录操作。
3. 请求分配一个号码。
#### 客户端设计:
- 创建与对话框相关的MFC工程文件“QQClient.EXE”
- 自定义的消息类型定义如下:
`#define WM_MSGRECV (WM_USER+1)` // 收到好友信息
`#define WM_SEVMSG (WM_USER+2)` // 接收服务器消息
`#define WM_NOTIFYICONMSG (WM_USER+3)` // 托盘图标通知
`#define WM_RECVFRIENDDATA (WM_USER+4)` // 获取好友数据
- 使用结构体传递参数:
```cpp
struct Param {HWND hwnd; SOCKET m_socket;};
struct SevParam{SOCKET m_socket; CString str; SOCKADDR_IN addr; HWND hwnd;};
struct ReavDataParam{SOCKET m_socket; SOCKADDR_IN addr; HWND hwnd;};
// 加载套接字库的代码
#include
全部评论 (0)


