开发环境:WindowsXPSP3、VC++6.0、Windows2003SDK使用步骤:1、下载解压之后,使用VC++6.0打开两个工程:一个是SocketServer和一个ClientSocket工程。2、首先运行服务器端工程,选默认的端口10083、然后运行客户端工程,选默认的端口1008和默认的服务器地址4、再运行多个客户端进程5、如果一切正常,可以每个客户端的消息发送,我们可以在服务端和各个客户端同步看到消息实现一个服务器对多个客户端的关键是,在服务端的使用集合CPtrList类用保存客户端的socket对象,思想与Java中的编程思想一样,只不过Java中会使用多线程技术,在Vector集合保存客户端的socket对象,而MFC框架提供了CSocket类,它是一个异步通信的类,所以看上去代码比较Java的多线程代码简单的实现了一个对多的即时通讯功能。另外,MFC提供了CSocketFile类和CArchive类与CSocket类实现了C++的网络通讯编程功能。本示例注释非常详细,所有的辅助类都放一个util目录中,然后在工程中分了一个目录来管理这些辅助类,使用代码非常清晰。手动书写部分的代码是按Java的规范书写,当然其它代码由IDE生成的,所以是MS的风格,所以当你看代码时,只要是使用“骆驮命名法”的方法都是本人书写的功能性代码。参看的思路:在服务端要从回调方法onAccept读起;而客户端代码主要从OnSendButton方法读起,即可理解整个代码的意思。阅读对象:具有Java的Socket编程经验的人员,并且希望能够书写出比Java效率更高的即时通讯程序的人员-IMDN开发者社群-imdn.cn"> 开发环境:WindowsXPSP3、VC++6.0、Windows2003SDK使用步骤:1、下载解压之后,使用VC++6.0打开两个工程:一个是SocketServer和一个ClientSocket工程。2、首先运行服务器端工程,选默认的端口10083、然后运行客户端工程,选默认的端口1008和默认的服务器地址4、再运行多个客户端进程5、如果一切正常,可以每个客户端的消息发送,我们可以在服务端和各个客户端同步看到消息实现一个服务器对多个客户端的关键是,在服务端的使用集合CPtrList类用保存客户端的socket对象,思想与Java中的编程思想一样,只不过Java中会使用多线程技术,在Vector集合保存客户端的socket对象,而MFC框架提供了CSocket类,它是一个异步通信的类,所以看上去代码比较Java的多线程代码简单的实现了一个对多的即时通讯功能。另外,MFC提供了CSocketFile类和CArchive类与CSocket类实现了C++的网络通讯编程功能。本示例注释非常详细,所有的辅助类都放一个util目录中,然后在工程中分了一个目录来管理这些辅助类,使用代码非常清晰。手动书写部分的代码是按Java的规范书写,当然其它代码由IDE生成的,所以是MS的风格,所以当你看代码时,只要是使用“骆驮命名法”的方法都是本人书写的功能性代码。参看的思路:在服务端要从回调方法onAccept读起;而客户端代码主要从OnSendButton方法读起,即可理解整个代码的意思。阅读对象:具有Java的Socket编程经验的人员,并且希望能够书写出比Java效率更高的即时通讯程序的人员 - IMDN开发者社群-imdn.cn">
登录
首页 » c++,visual-studio » 一个服务器对多个客户端的MFC Socket编程示例(实现简单的即时通讯功能)

一个服务器对多个客户端的MFC Socket编程示例(实现简单的即时通讯功能)

于 2022-02-21 发布 文件大小:3.44 MB
0 210
下载积分: 2 下载次数: 2

代码说明:

下载说明:请别用迅雷下载,失败请重下,重下不扣分!

发表评论

0 个回复

  • 基于MFC的登录注册
    一个基于VC++的mfc项目主要实现登录注册功能,功能比较完备,适合初学者学习借鉴,输入错误的账号会提示登陆错误,运用的数据库是access,需要下载数据库,配置数据源的名称。
    2022-01-27 22:00:24下载
    积分:1
  • 第一个VC++ 6.0的ADO编程示例(非ADO控件编程!)
    环境:Windows XP SP3、VC++ 6.0、Windows 2003 Server SDK、MS SQL Server 2000 使用步骤: 1、下载解压之后,先运行工程目录中的上课教学For SQL Server.sql脚本,在数据库中创建所需要的表 2、注意:如果你的Windows系统安装的目录不在C盘,那么需要使用IDE打开StdAfx.h中的#import "C:Program FilesCommon FilesSystemadomsado15.dll" no_namespace rename("EOF","adoEOF")语句,然后修改成你机器器中的位置 3、修改CFirstADOApp类中的InitInstance方法中的m_pConnection->Open("Driver=SQL Server;Database=bbs;Server=127.0.0.1;UID=sa;PWD=sa;","","",adModeUnknown);根据你机器上的数据库位置、数据库的用户名、密码来修改 4、然后点击“!”按钮运行程序,如果一切正常,那么可以看对话框中显示数据库表description的信息 5、修改CFirstADODlg类的OnInitDialog方法中的_variant_t sql("select * from HouseInformation where contactor = "建翔桥"");语句,可以得到不同的查询结果 阅读对象:希望学习VC++的ADO编程,而不是ADO控件的编程的人员。。。。^_^ 注:本示例注释非常详细,是学习代码编程ADO程序的好例子!
    2023-06-19 00:15:04下载
    积分:1
  • 图形学展示3D图形
    图形学展示3D图形,VC6.0运行,键盘控制翻转移动
    2023-04-23 15:50:04下载
    积分:1
  • RTSP DEMO
    live555获取流 + ffmpeg解码 + sdl 播放,可以播放了,但有一个问题,就是会不时变花
    2023-08-14 13:55:29下载
    积分:1
  • 微生物藻类鉴定和计数Demo
    针对海洋藻类微生物的形状特征颜色,可以对其进行种类鉴定和数量统计,对研究海洋环境生态有重要的意义,无论是从研究的角度还是从软件的角度都可。
    2022-05-26 05:10:08下载
    积分:1
  • 环形缓存机制源代码
    环形缓存机制,主要可以用来循环接收数据量比较大的数据,如高清视频数据;其首先申请一大段缓存,首尾指针分别换算成离缓存首地址的长度,尾指针根据接收数据的长度并对缓存长度取模来往后移动,首指针根据取出数据的长度并对缓存数据取模往后移动,当尾指针移动到末端,接收到的数据超出剩下的缓存大小时,尾指针换算的长度对缓存取模时其值将变为缓存开始的地址,从而形成一个指针自动偏移不断循环存储的环形buffer。
    2022-04-30 07:32:58下载
    积分:1
  • BP神经网络
    学习规则是使用最速下降法,通过反向传播来不断调整网络的权值和阈值,使网络的误差平方和最小。BP神经网络模型拓扑结构包括输入层(input)、隐层(hide layer)和输出层(output layer)。
    2022-04-01 23:51:05下载
    积分:1
  • GIS二次开发程序,加载shapefile文件,清空图层。打开EXD地图,并可以保存
    GIS二次开发程序,加载shapefile文件,清空图层。打开EXD地图,并可以保存
    2022-03-25 18:49:52下载
    积分:1
  • opencv-2.4.13+vs2013历程
    配置好opencv 将图片转换成灰度图在二值化
    2022-02-25 14:25:36下载
    积分:1
  • 初始化一个10*10的方阵并计算对角线的和
    构建10*10的矩阵用的是单for循环,比较考验智力。难点在如何使用单for循环控制次序和换行,望读后有所收获!
    2022-01-28 16:05:40下载
    积分:1
  • 696518资源总数
  • 105877会员总数
  • 14今日下载