WEB开发网
开发学院手机开发Symbian 开发 Symbian之client-server架构 阅读

Symbian之client-server架构

 2010-05-31 19:49:00 来源:WEB开发网   
核心提示:1. Client/Server架构在Symibian OS中所有的异步服务都是Server通过C/S架构来实现的,Client是利用Server提供的特定服务的程序,Symbian之client-server架构,Server接受来至Client 的请求消息并同步或异步的处理他们,C/S架构有如下的优点:1,前者发起

1. Client/Server架构

在Symibian OS中所有的异步服务都是Server通过C/S架构来实现的。Client是利用Server提供的特定服务的程序,Server接受来至Client 的请求消息并同步或异步的处理他们。C/S架构有如下的优点:

1,可扩展性

2,有效性:相同的Server可以服务多个Client。

3,安全性:Server和Client存在于单独的进程中,并且通过消息传递进行通信。具有错误行为Client 不会使他的Server崩溃(但是,Server可以通过客户线程的句柄来是具有错误行为的Client产生严重错误)。

4,异步性:在服务器完成请求的时候使用AO机制来通知他的Client。通过AO来挂起线程而不是轮询请求的状 态,Symbian OS减少了处理该请求的处理器周期,从而节约了电源,这对于移动设备来说是非常重要的。

2. Client/Server架构的处理流程

Clinet和Server处于不同的进程中,他们无法访问彼此的虚地址空间,所以他们使用消息传递协议来通信,这 种通信的渠道就称为会话。会话由内核创建,同时内核还在所有的Client/Server通信中充当媒介。

服务,特别是系统提供的服务,比如:文件服务,窗口服务和字体和位图服务等都是在系统启动的时候就启动了。当然如果 是自己做的server可以在需要的时候,即当有client发出请求的时候再启动。然后服务器阻塞在某个点上,等待client请求的到来。在 Client发出一个请求后,服务器会new一个子会话来处理这个client的请求,然后自己又继续阻塞在监听请求的点上,以满足其他Client的请 求。每个Client和Server的后续交互都是通过连接Server时创建的Session来完成的。

Server主要是用来管理一些共享的资源,如File Server-管理文件系统;Window Server-管理对屏幕、键盘等的共享访问;通常服务和客户端工作在不同的线程或进程,互相之间不干扰。每个服务在启动时候都有一个名字,系统服务的名 字以!开头,每一个服务有对应的API,他们知道对应服务的名字。客户端和服务端通过session进行通信,消息以TIpcArgs的形式进行传递,包 括要访问的服务类型和参数。客户端的RSessionBase和服务端的一个CSession2对应,前者发起连接后,RServer2会从内核负责协调通信的 DServer哪里获得消息,然后CServer2会通过NewSessionL()创建对应CSession2。

3. 相关类的分析

跟client-server Framework相关的类有8个:

1 2 3 4 5 6  下一页

Tags:Symbian client server

编辑录入:coldstar [复制链接] [打 印]
赞助商链接