Socket通信模块详细设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
密级:秘密
文件编号:D0000-PPCMT012
Socket通信模块详细设计
版本:0.8.0-0.0.0
2010-9-9
东软集团股份有限公司人才实训中心
(版权所有,翻版必究)
文件修改控制
文档编号: D0000-PPC-项目编号-PDD-年份
目录
1 文档概述 (4)
1.1 文档目的和范围 (4)
1.2 术语/缩略语 (4)
1.3 参考文档 (4)
2 模块功能描述 (4)
2.1 数据结构定义...................................................................................................... 错误!未定义书签。
2.1.1 数据类型定义 (5)
2.1.2 全局变量定义.......................................................................................... 错误!未定义书签。
2.1.3 常量定义 (5)
2.2 类模块功能实现 (5)
2.2.1 类数据成员 (7)
2.2.2 类成员函数 (7)
1文档概述
1.1 文档目的和范围
本文描述了使用Socket通信模块类客户端与服务器端如何进行交互
1.2 术语/缩略语
1.3 参考文档
2Socket通信模块功能描述
此Socket通信模块旨在通过用户给定的IP地址与服务器建立连接。通过基于对话框的链接界面进行上传工作。
2.1 自定义数据类型-结构体、联合体、枚举2.1.1类型定义
2.1.1.1 XXXXEnum
CClientDlg enum {
IDD = IDD_CLIENT_DIALOG
};AFX_DATA(CCLientDlg)
枚举CClient类型对象;
CServer enum {
IDD = IDD_SERVER_DIALOG
};AFX_DATA(CServerDlg
枚举CSverver类型对象。
2.1.2常量定义
Client:
#define IDD_CLIENT_DIALOG 102
#define IDR_MAINFRAME 128
#define IDC_IPADDRESS1 1000
#define IDC_EDIT_NPORT 1001
#define IDC_EDIT_FILE 1002
#define IDC_BUTTON_BROWSER 1003 #define IDC_PROGRESS1 1004
#define IDC_STATIC_STATE 1005
Server:
#define ID_STOP 3
#define IDD_SERVER_DIALOG 102
#define IDR_MAINFRAME 128
#define IDC_EDIT_PORT 1000
#define IDC_RADIO_FILE 1001
#define IDC_RADIO_BUF 1002
#define IDC_STATIC_IMAGE 1003
#define IDC_PROGRESS1 1004
#define IDC_STATIC_STATE 1005
2.2 Socket通信模块类功能实现
客户端:
1.采集IP地址(输入服务器IP地址):保存用户输入的IP地址
2.连接服务器:连接保存的IP地址所指向的服务器;
3.文件上传:将文件转为流媒体,并上传至服务器。
用户通过输入服务器地址与端口(服务器)连接到服务器,浏览本地文件,点击发送后,客户端通过IP地址连接到服务器端。
服务器端:
1.服务器端文件保存:将接受到的文件保存到指定的物理路径(绝对路径)。
服务器启动服务,接收客户端文件。
2.2.1类数据成员
Client.h:
SOCKET m_hSocket; //访问TCP 和UDP 网络服务的方便途径CString m_strFileName; //文件名称
HICON m_hIcon; //可执行文件的图标
Server.h:
SOCKET m_hSocket; //访问TCP 和UDP 网络服务的方便途径
CString m_strFilePath; //文件路径
char* pBuffer; //存储缓存区地址
int m_iSize; //缓存区大小
bool bAppend; //判断是否连接成功
HICON m_hIcon; //可执行文件的图标
2.2.2类成员函数
Client:
void OnPaint();
HCURSOR OnQueryDragIcon();
void OnOK();
void OnButtonBrowser();
void OnCancel();
Server:
void InitSock();
bool GetCurSelMode();
void ShowPIC();
void ShowPIC(char* buf,int iSize);
void RevFile(const SOCKET& s);
2.2.2.1 CFunctionName(函数名称)
【函数式样】表2-1
【函数式样】表2-2