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();

MFC网络编程学习相关文档

最新文档

返回顶部