网络课设总结(五)——利用CAsyncSocket进行异步通信

本文介绍了一个客户端套接字的设计方案,重点在于如何通过面向对象的方法来管理客户端与服务器之间的通信。文章详细讨论了客户端套接字类的设计,并提供了OnConnect和OnReceive两个关键函数的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

      上一篇文章,我给大家提供了服务器监听套接字的基本代码,这一篇文章,让我们一起来看看客户端的代码!!!

      由于,我要完成的功能是在一个对话框里轮流显示和管理多个服务器和多个客户端,因此在建立套接字类的时候费了一番脑筋;在此我将整个过程描述出来,也许对面向对象的程序设计有一点启示。

初步方案:

服务器端的职责是监听和数据通信,客户端的功能是数据通信;好的,我直接就这么考虑了,我需要一个监听套接字类,一个数据通信套接字类,然后在以数据通信套接字和监听套接字为成员变量构成服务器端套接字类;客户端类直接用数据通信套接字。首先,这个想法在思维上很顺利,看起来顺理成章,在实现的时候却发现,服务器端有这样的问题:一个服务器端套接字可以对应多个客户端;好的,那么在处理服务器端的管理问题的时候,我发现,服务器端的本质是什么?监听,对就是监听。除了监听,没有别的。

改进方案:

服务器端只负责监听,一个监听套接字类足够;如果收到客户端的连接请求,则在本机创建一个“客户端”,与那个客户端通信!!!至少到目前看来,这个方案还是比较优化的。

 

        总结:在这过程中,我感觉面向对象的思想博大精深,我的领会还很肤浅。在改进的过程中,感觉对自己最大的一个帮助就是,明确系统中每个对象的职责,从本质上去理解问题。

1、lientSocket.h:

2、OnConnect函数

3、OnReceive函数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值