编程步骤:
1.创建CAsyncSock类的派生类;
2.创建CAsyncSock类的派生类对象;
3.调用Create()成员函数创建套接字(socket),并将套接字绑定到本地IP地址和端口上;
4.让应用程序进入等待接收数据的状态,这一步系统自动进行;
5.接收到其他通信端发来的数据;
6.向其他通信端发送数据;
7.通信完毕后,关闭套接字。
具体实现步骤:
1.界面设计。在vs2013中创建一个基于MFC的对话框应用程序,并在高级功能中选中“windows套接字”选项,项目命名为ChatDemo
在弹出的界面中删除“确定和”“取消”以及“label文本”,之后设计如下界面
两个Edit文本框,分别命名为IDC_EDIT_RECIEVE、IDC_EDIT_SEND,IP ADDRESS控件命名为IDC_IPADDRESS,按钮的caption设为“发送”,ID命名为IDC_BUTTON_SEND
两个文本编辑框的Multiline设为TRUE,VERTICAL SCROLL 设为TRUE,接收数据的ReadOnly属性设为TRUE;
2.添加CAsyncSocket类的派生类
在项目的"类视图"选项卡中,右键ChatDemo1|添加|类
添加控件成员变量:为与主对话框相关联的CChatDlg类添加控件成员变量,鼠标右键|添加变量
3.创建套接字
在ChatDemo1Dlg.h中添加对ChatDemo1.h文件的包含,并且给CChatDlgl类添加数据成员
// ChatDemo1Dlg.h : 头文件
//
#pragma once
#include "afxwin.h"
#include "afxcmn.h"
#include "ChatDemo1.h"