VC++网络编程 MFC Socket编程

本文介绍了如何使用VC++的MFC进行Socket编程,包括创建客户端项目,建立对话框,添加IP控件和按钮,实现连接、断开、发送功能。同时,也展示了服务器界面的搭建过程,通过类似步骤设置服务器端的Socket通信,并实现监听、接收和关闭连接的功能。
摘要由CSDN通过智能技术生成

一、建立项目

  1. 启动VS2010——选择MFC——MFC应用程序——项目名称ChatClient——确定
    在这里插入图片描述
  2. 弹出界面——勾选基于对话框
    在这里插入图片描述
  3. 高级功能——勾选套接字——点击完成
    在这里插入图片描述
    4.完成客户端界面优化,如下图所示 添加IP控件,IP变量名ServerIP,Eidt控件两个,关联int型sPort变量,Listboxs控件关联变量m_ListWords,四个按钮控件
    在这里插入图片描述
  4. List item
  5. 创建类名为CClientSocket的客户Socket对象,下面给工程添加类,选择菜单命令 项目——添加类 如下图所示
    在这里插入图片描述
  6. 在弹出“添加类”对话框中选择MFC类项,单击添加"按钮"
    在这里插入图片描述
  7. 在MFC类向导对话框中输入类名:CClientSocket,向导将自动为这个添加类生成名为"ClientSocket.h " 和 " ClientSocket.cpp"的头文件和源文件,如下图所示
    在这里插入图片描述
  8. 单击完成按钮,可以在类视图中看到刚刚添加的CClientSocket,如下图所示
    在这里插入图片描述
  9. 客户端程序文件:打开已经创建好的客户端工程,在解决方案资源管理器可以看到工程的所有程序文件,如下图
    在这里插入图片描述
  10. 在头文件ChatClientDlg.h添加如下代码,添加位置如下图:
    #include “ClientSocket.h” //使主界面程序能够访问Socket类的代码文件
    CClientSocket m_ClientSocket;//为了后面与服务器通信而定义的Socket成员变量
    在这里插入图片描述
  11. 在源文件ClientSocket.cpp添加头文件声明:#include "ChatClientDlg.h"
  12. 客户端源码:单击连接按钮添加如下代码:
//连接服务器
	 BYTE nFild[4];
	CString sIP;
	UpdateData();
	ServerIP.GetAddress(nFild[0],nFild[1],nFild[2],nFild[3]);
	sIP.Format("%d.%d.%d.%d",nFild[0],nFild[1],nFild[2],nFild[3]);//不能将参数 1 从“const char [3]”转换为“const wchar_t *”使用_T()
	m_ClientSocket.Create();			
目录 (1)基本网络编程实例 Winsock实现网络聊天室【\chap1\ChatRoom(Winsock)】 CSocket实现聊天室【\chap1\ChatRoom(Csocket)】 (2)本地计算机网络编程实例 获取计算机的名称和IP地址【\chap2\Local】 获取计算机的子网掩码【\chap2\ Local】 获取计算机的DNS设置【\chap2\ Local】 获取计算机的网卡地址【\chap2\ Local】 获取计算机安装的协议【\chap2\ Local】 获取计算机提供的服务【\chap2\ Local】 获取计算机的所有网络资源【\chap2\ Local】 修改本地计算机的所有网络设置【\chap2\ Local】 获取计算机TCP/IP协议的所有信息【\chap2\ Local】 (3)局域网网络通信编程实例 获取网上邻居【\chap3\Neighbor】 lIP地址和计算机名之间的转换【\chap3\Neighbor】 l映射网络驱动器【\chap3\Neighbor】 l消息发送程序Net Send【\chap3\Neighbor】 l获取局域网内其他计算机的信息【\chap3\ NeighborInfo】 (4)IE编程实例 简单的浏览器的实现【\chap4\MyBrowser】 删除IE相关历史记录【\chap4\DelHistory】 将应用程序加入到IE工具栏【\chap4\AddToToolBar】 超级链接的实现【\chap4\HyperLink】 禁止IE的弹出窗口【\chap4\StopPopup】 禁止浏览某些网站【\chap4\StopTravel】 IE收藏夹【\chap4\ MyBrowser】 创建桌面快捷方式和活动桌面【\chap4\ShortCut】 (5)基本网络编程实例 点对点文件传输【\chap5\Transfer】 大型文件传输【\chap5\Transfer】 端口扫描程序【\chap5\ MyPortScanner】 Finger编程【\chap5\MyFinger】 Sniff编程【\chap5\MySniff】 Internet文件下载【\chap5\ InternetDownload】 (6)网络通信协议编程 FTP协议【\chap6\FTP】 Email协议【\chap6\Email】 ICMP协议【\chap6\ICMP】 RAS协议【\chap6\RAS】 TAPI协议【\chap6\TAPI】 Telnet协议【\chap6\Telnet】 HTTP协议 【\chap6\HTTP】 (7)Modem /串口通信编程 Modem编程【\chap7\Modem】 MSCOMM控件编程【\chap7\MSCOMM】 串口通信API编程【\chap7\MySerialCom】 (8)代理服务器编程实例 Socks 5协议编程【\chap8\Socks5】 HTTP代理服务器【\chap8\HTTP代理服务】 (9)高级网络通信编程实例 串口通信编程实例【\chap9\SerialPort】 网络流量监控【\chap9\NetTraffic】 网站下载【\chap9\ Snag】 网络五子棋系统【\chap9\FiveChess】 语音聊天【\chap9\ ChatRoom】 远程监控【\chap9\RemoteControl】
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值