开发环境: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 101
下载积分: 2 下载次数: 2

代码说明:

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

发表评论

0 个回复

  • 基于UDP的文件传输
    基于UDP实现文件的传输,可以很好的观察为什么UDP传输文件不可靠?因为很容易丢包,帮助理解UDP传输机制。
    2022-08-17 14:17:05下载
    积分:1
  • 图形学展示3D图形
    图形学展示3D图形,VC6.0运行,键盘控制翻转移动
    2023-04-23 15:50:04下载
    积分:1
  • 基于TI LaunchPad的超声波测距程序
    基于TI LaunchPad的超声波测距程序,与STM32类似,基于Coretex内核,飞控测试可用,不含PID
    2023-08-21 17:20:04下载
    积分:1
  • 基于C#教师管理系统
    教师管理系统!含有多个子功能、有登录注册、校内校外教师等动能
    2022-05-09 08:23:36下载
    积分:1
  • 数据结构最小生成树
    数据结构关于最小生成树的代码实现,普通的学生作业,很基础,适合初学者借鉴。编写使用c++语言,使用的编程软件是vs2010。
    2022-07-23 14:52:01下载
    积分:1
  • A great list of tasks to be done and completed
    Windows窗体应用程序添加新任务,重新排列添加的任务。任务删除是一个有趣且非常有用的软件源代码,它在鼠标单击和完成任务之间发送分配的任务。
    2022-04-16 03:51:27下载
    积分:1
  • Opencv自带图像滤波函数
    在对图像进行去噪时,直接调用Opencv库中的滤波函数,Opencv自带图像滤波函数库中已将高斯滤波、中值滤波、均值滤波等等算法实现,直接调用即可。在需要对其算法进行改进,可直接在其函数体中进行算法优化改进。
    2022-05-06 06:36:25下载
    积分:1
  • 环形缓存机制源代码
    环形缓存机制,主要可以用来循环接收数据量比较大的数据,如高清视频数据;其首先申请一大段缓存,首尾指针分别换算成离缓存首地址的长度,尾指针根据接收数据的长度并对缓存长度取模来往后移动,首指针根据取出数据的长度并对缓存数据取模往后移动,当尾指针移动到末端,接收到的数据超出剩下的缓存大小时,尾指针换算的长度对缓存取模时其值将变为缓存开始的地址,从而形成一个指针自动偏移不断循环存储的环形buffer。
    2022-04-30 07:32:58下载
    积分:1
  • 基于OpenCV的blob实现的多运动目标跟踪
    基于OpenCV的blob实现的多运动目标跟踪,该工程提供完整的实现代码,主要通过Blob实现多目标的跟踪检测。原理简单,实现效果有限,但适合视频跟踪初学者的学习使用,可以学习到跟踪领域基本的思路。
    2022-01-25 19:57:22下载
    积分:1
  • 文本进制转换
    将数据文件为BIN文件格式转换成TXT文件,并且将其中的二进制数据转换成double型格式的数据。
    2022-03-21 03:09:10下载
    积分:1
  • 696518资源总数
  • 104349会员总数
  • 32今日下载