整体架构-硅谷之火——pc从梦想到现实
1.1整体架构HP-Socket完全封装了底层通信细节,并为应用程序提供一套简单易用的并且与底层通信完全无关的API接口,使应用程序获得高性能、高伸缩性通信的同时,免除处理通信细节的负担。HP-Socket的API接口模型如图1.1-1所示:图1.1-1 HP-Socket API接口模型HP-Socket定义了组件接口(如:ITcpServer / IUdpClient)、组件实现类(如:CTcpServer / CUdpClient)和监听器接口(如:ITcpServerListener / IUdpClientListener),其中: 组件接口:声明组件操作方法,应用程序创建组件对象后通过该接口来使用组件组件实现类:实现组件接口,执行实际通信处理工作,并向监听器报告通信事件监听器接口:声明组件的通信事件回调方法每个组件对象都会关联一个监听器对象(监听器对象的实现类由应用程序定义),当组件对象触发一个通信事件时会调用监听器对象相应的回调方法,应用程序在回调方法中处理应用业务逻辑。图1.1-2以TCP Agent为例展示了组件与应用程序的交互:应用程序首先创建监听器对象和TCP Agent对象,创建TCP Agent对象时传入监听器对象,把TCP Agent对象与监听器对象关联起来。TCP Agent对象创建完毕后,应用程序调用TCP Agent接口方法操作TCP Agent对象(如:Start / Connect / Send / Stop等)。当TCP Agent对象触发通信事件时,会调用监听器对象的回调方法(如:OnConnect / OnSend / OnReceive / Onclose等)通知应用程序。注意:监听器对象的异步回调方法是在组件的通信线程中执行的,因此回调方法不应执行耗时较长的业务逻辑代码,同时要注意多线程同步问题,也应尽量避免使用锁。 HP-Socekt通过设置“连接绑定”能协助应用程序巧妙地避免由于多线程同步和互斥锁等导致的复杂性和性能问题。 HP-Socket Component Interface Listener Interface Component Implement Class 1 My Application Listener Implement Class Logic Controller
1.59MB
文件大小:
评论区