跨平台(Windows+Linux)的Socket通讯程序(二)—结构

本文探讨了一种跨平台(Windows+Linux)的Socket通讯程序的体系结构,分为底层封装函数、通用Server和Client层、业务逻辑层以及协议解析/封装层。底层封装对Socket函数进行包装,通用层处理通讯逻辑,业务逻辑层实现应用特定的业务,协议层负责内外通讯协议的转换。建议将发送和接收过程与业务逻辑分离,使用非阻塞函数并置于独立线程中。
摘要由CSDN通过智能技术生成

上一篇"跨平台(Windows+Linux)的Socket通讯程序"给出了Socket通讯底层的一些函数的包装方法/类,同时屏蔽了操作系统(Windows/Linux)的不同。

上一篇只是对通讯底层方法的封装,并没用涉及应用,这一篇将基于上一篇,并结合"跨平台(Windows+Linux)的线程辅助程序",讨论一个实用化的Socket通讯程序的体系结构。

一、结构图

下面给出了一个Socket通讯应用的大致体系结构图。


图中,给出了一些概念类和它们所处的层次,大致上,分为三个处理层次以及一个辅助层次。

  • 底层封装函数:这个层次的内容在(一)中已论述,主要是对Socket原生函数的封装,之所以既有CSocketWrap类,又有独立的辅助函数,是考虑到一般性与特殊性兼顾,对通常的通讯逻辑,可在CSocketWrap类中处理,对特殊的要求,可直接调用底层的封装函数。
  • 通用的Server和Client层:因为Server端与Client端通讯逻辑不同,宜采用两个类分别处理,本文没有将UDP与TCP协议分开,如果逻辑要更清晰一些,也可以写成4个类
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值