MFC网络编程学习
MFC网络编程学习
MFC网络编程学习
这两天学习了MFC网络编程,发现其实网络编程好像也没有想象中的那么难,做个梳理如下: 网络编程人员可以调用windows操作系统套接字访问通信协议,套接字存在与通信区域中,windows套接字只支持一个通信区域即网际域(AF_INET)
套接字的类型有三类:流式套接字(SOCK_STREAM)和数据报式套接字(SOCK_DGRAM)和原始套接字
流式套接字基于TCP协议,数据报式套接字基于UDP协议实现
基于TCP的socket编程的服务器端程序流程如下:
1、创建套接字
2、将套接字绑定到一个本地地址和端口号上(bind)
3、将套接字设为监听模式,准备接受客户请求(listen)
4、等待客户请求,请求到来时接受请求,建立链接,并返回 一个新的基于此次通信的套接字(accept)
5、用返回的套接字和客户端进行通信(send、recv)
6、返回,等待另一客户请求
7、关闭套接字
基于TCP的socket编程的客户端程序流程如下:
1、创建套接字
2、向服务器端发送请求(connect)
3、和服务器端进行通信(send、recv)
4、关闭套接字
基于UDP的socket编程的服务器端程序流程如下:
1、创建套接字
2、将套接字绑定到本地地址和端口号上(bind)
3、等待接收数据(recvfrom)
4、关闭套接字
基于UDP的socket编程的客户端程序流程如下:
1、创建套接字
2、和服务器端进行通信(sendto)
3、关闭套接字
编写自定义消息处理函数
假如说要在Cdlg类中定义消息处理函数则步骤如下:
1、在Cdlg类头文件中定义消息
#define WM_RECVDATA WM_USER+1
2、在Cdlg类的头文件中编写该消息响应函数原型的声明
// Generated message map functions
//{{AFX_MSG(CChatDlg)
virtual BOOL OnInitDialog();
afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
afx_msg void OnPaint();
afx_msg HCURSOR OnQueryDragIcon();
你可能喜欢
- 面向对象方法
- c++经典代码大全
- MFC程序设计
- Socket编程


