Visual C++网络编程经典案例详解 第8章 网络文件传输 客户端代码 连接服务器 为自定义消息添加消息响应函数

如果有套接字事件发生
便会发送自定义消息 WM_CSOCKT
在头文件定义

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER 》 1000
#define WM_CSOCKT WM_USER+11 //定义自定义消息
class CMyDlg : public CDialog
{
	... //省略部分代码
}

头文件 中还要消息响应函数

class CMy2Dlg : public CDialog
{
	public:
	...  //省略部分自动生成代码
	CString ip; 
	SOCKET s; //服务器监听套接字
	int port; //服务器端口
	CFile file; //文件对象
	char buff[100]; //自定义缓冲区
	CString str; //字符串变量
	HWND h; //窗口实例句柄
	public:
	SOCKET s; //连接套接字句柄
	sockaddr_in addr; //套接字地址信息
	WSADATA data; //套接字版本
	int i; //循环变量
	int n;
	afx_msg void Oncsockt1(WPARAM wParam,LPARAM lParam); 
	//套接字消息响应函数
	afx_msg void OnTimer(UINT nIDEvent);
	afx_msg void OnClose(); //省略部分代码
	...
}

还需要 消息映射宏中添加套接字消息的消息映射项
将消息与消息响应函数关联
代码如下

... //省略部分代码
BEGIN_MESSAGE_MAP(CMyDlg,CDialog) //消息映射开始
//{{AFX_MSG_MAP(CMyDlg)
ON_WM_SYSCOMMAND()
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
ON_MESSAGEMAP(WM_CSOCKT,Oncsockt1) //套接字消息映射项
ON_BN_CLICKED(IDC_CONNECT,OnConnect) //连接按钮的消息映射项
ON_BN_CLICKED(IDC_CLEAR,OnClear) //清除按钮的消息映射项
ON_BN_CLICKED(IDC_LIULAN,OnLiulan) //发送文件按钮的映射项
ON_BN_CLICKED(IDC_SAVE,OnSave) //接收文件按钮的消息映射项
ON_BN_CLICKED(IDC_SEND,OnSend) //发送消息按钮的消息映射项
//}}AFX_MSG_MAP
END_MESSSAGE_MAP() //结束消息映射
... //省略部分代码

在 客户端 Dlg.cpp 中 添加代码后
便为消息 WM_CSOCKT 添加相应的消息响应函数

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值