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


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

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

    初步方案:

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

    改进方案:

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

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

    1、lientSocket.h:

    2、OnConnect函数

    3、OnReceive函数

  • 相关阅读:
    [项目管理]如何写好项目验收材料
    [英语学习]英语高级口译证书考试 备查
    A1042 Shuffling Machine洗牌机器
    B1018锤子剪刀布
    B1012数字分类
    B1008数组元素循环右移问题
    B1046划拳
    B1026 程序运行时间
    B1016部分A+B
    B1011A+B和C
  • 原文地址:https://www.cnblogs.com/javaadu/p/11742739.html
Copyright © 2020-2023  润新知