美文网首页
6.2、业务逻辑之打通业务处理脉搏实战

6.2、业务逻辑之打通业务处理脉搏实战

作者: 奥斯特洛司机 | 来源:发表于2019-04-13 11:25 被阅读0次

    1、多线程互斥量+条件变量
    线锁住互斥量,取队列,到条件变量等待的三个步骤。调用条件变量的时候释放互斥量,使得其他线程可以从队列中取数据。线程进入等待条件的线程列表中。当pthred_cond_wait返回,再次去竞争锁。
    2、crc32算法介绍
    CCRC32类:队首发的数据包进行简单的数据校验,确保数据包没有被修改过。
    客户端计算包体的crc32值,放在包头crc32成员中。
    服务器收到数据包后,也计算包体的crc32值。
    两者对比,相同就是没被修改的。
    服务器发出的数据包也一样被客户端处理。
    这就要确保两边的计算算法一致。
    3、业务逻辑代码放在CSocket类的子类中

    4、设计模式:
    把一个个小功能封装成一个个类。往设计模式上套。进行所谓的面向对象程序设计。
    不要乱用设计模式。
    5、消息的具体设计
    定义一个函数指针,定义一个该指针的指针数组,
    每一个消息有一个对应的消息处理函数,对应指针数组里的一项,通过下表访问对应的函数。
    服务器逻辑开发工作,主要集中在三个文件中。
    comm.h slogic.h clogic.cxx
    6、threadrecvprocfunc()函数讲解。

    相关文章

      网友评论

          本文标题:6.2、业务逻辑之打通业务处理脉搏实战

          本文链接:https://www.haomeiwen.com/subject/xbrlwqtx.html