WEB开发网
开发学院手机开发Symbian 开发 Symbian socket 网络编程方法 阅读

Symbian socket 网络编程方法

 2010-03-18 20:59:00 来源:WEB开发网   
核心提示:使用RSocketServ类RSocketServ 类扮演了一个十分重要的角色,因为它是客户端应用程序与socket服务组建之间的连接会话,Symbian socket 网络编程方法(5),但是,客户端应用程序并不直接使用这个类来进行数据的发送和接收,载入协议仍然是一件比较费时的操作,RSocketServ提供了一个S

使用RSocketServ类

RSocketServ 类扮演了一个十分重要的角色,因为它是客户端应用程序与socket服务组建之间的连接会话。

但是,客户端应用程序并不直接使用这个类来进行数据的发送和接收,或者创建一个远程通信端点;要完成这些任务的话,使用的是RSocket类,这个类将会在稍后进行介绍。

RSocketServ 可以让客户端应用程序来向socket服务组件发起一些查询,查询的内容包括服务器支持的协议个数以及支持哪些协议,每个支持协议的具体信息等等。

希望使用socket的客户端应用程序,都将需要自己创建一个RSocketServ类的实例对象,用这个对象来表示该客户端应用程序和 socket服务之间的会话。每一个独立的socket连接,都是一个独立的RSocket类的实例对象。可以说,在一个客户端应用程序中,该程序的 RSocketServ类对象就是所有的RSocket类对象的容器。

RSocketServ类的两个常用函数就是 Connect()和StandardProtocol()。

建立一个连接到sockets服务的会话

使用Connect()方法,应用程序就可以建立与socket服务之间的一个会话。它仅仅使用一个参数--该会话所提供的消息通道的个数。

TInt Connect (TUint aMessageSlots);

消息数参数被用来限定应用程序向socket服务所同时并发的异步操作的请求通道数。每一个同步请求都将占用一个消息通道,并且请求准备中的异步操作也将占用一个消息通道。

一个普通socket进行的读写通信操作,都是异步进行的,也就是说这样的操作要占用两个消息通道。如果socket也可以进行同步操作的话,那么我们其实并不需要指定过多的消息通道,因为同步操作的消息通道是由socket客户端-服务器框架来完成的。对于你的应用程序在同一个时间内会使用到多少个消息通道,这完全是由你来断定的,而在大多数情况下,我们要尽可能的减少同时请求的消息通道数。

如果我们不指定任何特定的值,那么系统会使用一个默认值作为消息通道个数的参数:KESockDefaultMessageSlots (0x08)。

预载入协议模块

socket 服务组件载入协议协议模块的动作是动态进行的,当针对某一个协议的第一个socket被创建的时候,该协议模块在此时才会被载入。尽管如此,载入协议仍然是一件比较费时的操作,RSocketServ提供了一个StartProtocol()函数,来进行协议模块的预载入操作,调用该函数可以在

上一页  1 2 3 4 5 6 7 8 9 10  下一页

Tags:Symbian socket 网络编程

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