摘要和软件运行演示见上一篇服务器端的文章。
这里重点讲步骤和不同点。
一、新建MFC对话框程序,拖入2个Edit控件,1个IP控件,3个botton,布局如图。
二、新增一个套接字类CClientSock,重写OnReceive和OnConnect方法,其它方法不是必须的。我为了测试增加了OnClose和OnSend方法。SendMsgToRecvWnd函数是以发消息的方式显示信息到窗口控件中。
三、连接,连接动作由按钮触发,实现如下:这里需要重新Create一个socket,重新Create将使用客户端不同的端口。
如果不重新Create,只是Close,连接将进入TIME_WAIT状态,在WINDOWS里这个状态要持续4min的时间。客户端程序不需要固定端口,因此可以关掉重新Create。而服务器端的处理网上有其它解决方案,这里只简单关掉程序再重开即可。
直接调用Connect方法,会触发OnConnect事件,连接成功则会触发OnSend事件。
四、发送数据,点击发送按钮,直接调用Send方法,这里却不会触发OnSend事件。
五、接收数据,OnReceive接收到数据会自动触发,使用Receive函数接收即可。
客户端程序要比服务器端简单一些,注意连接断开后要重新Create一次,也不需要使用AsyncSelect来指定事件。
https://download.csdn.net/download/fyydhsw/12319040