zoukankan      html  css  js  c++  java
  • 网络课设总结(五)——利用CAsyncSocket进行异步通信

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

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

    初步方案:

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

    改进方案:

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

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

    1、lientSocket.h:

    2、OnConnect函数

    3、OnReceive函数

  • 相关阅读:
    python-面向对象-05_面向对象封装案例 II
    python-面向对象-06_私有属性和私有方法
    python-面向对象-07_继承
    python-面向对象-08_多态
    python-面向对象-09_类属性和类方法
    CentOS 7 安装
    lnmp 一键搭建脚本
    shell 函数与内置变量
    linux无敌权限之chattr
    linux运维配置讲解--sshd-config
  • 原文地址:https://www.cnblogs.com/javaadu/p/11742739.html
Copyright © 2011-2022 走看看