WEB开发网
开发学院手机开发Symbian 开发 Symbian OS sockets API 阅读

Symbian OS sockets API

 2010-07-22 01:42:00 来源:WEB开发网   
核心提示:如果我们不指定任何特定的值,那么系统会使用一个默认值作为消息通道个数的参数:KESockDefaultMessageSlots (0x08),Symbian OS sockets API(5),预载入协议模块socket服务组件载入协议协议模块的动作是动态进行的,当针对某一个协议的第一个socket被创建的时候,主机解

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

预载入协议模块

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

如果你的应用程序需要在程序启动之初就载入协议模块,而并非需要连接的时候才进行载入,那么可以使用下面的函数范例来调用StartProtocol()方法:

void StartProtocol (TUint aFamily, TUint aSockType, TUint aProtocol, TRequestStatus& aStatus);

StartProtocol()函数的参数有:协议族(例如,KAfInet),使用该协议的socket类型(例如,KSockStream),协议族中的协议标示(例如,KProtocolInetTcp),最后一个参数是异步调用的完成状态参数。这些参数的意义将会在下面做以简短介绍。

请注意,尽管StartProtocol()函数是一个异步服务,但是它却是一个在操作过程中不能被取消的操作。

使用RSocket类

RSocket代表了应用程序的一个socket连接,在一个应用程序中,每一个socket连接都是一个单独的RSocket的实例。事实上,客户端应用程序的代码中使用更多的是RSocket类而并不是RSocketServ类。

RSocket是一个提供了许许多多服务的体积庞大的类,这些服务包括:

连接到服务,无论作为客户端还是服务端

设置或者查询自己的地址,或者查询远程地址S

从socket读取数据

向socket写入数据

其他更多...

在打开任何socket之前,我们必须有一个激活了的RSocketServ会话。并且,在上述提到的任何服务进行操作之前,我们要确保 socket是打开的。作为打开一个socket的一部分,RSocket这个子回话对象(见上文说明)需要同一个socket服务器进行连接,这个服务器就是一个RScoketServ类的实例。

下面的章节介绍了RSocket的各种函数,有了这些函数的介绍和帮助我们就可以写出基于socket通信的应用程序来。

主机解析服务

什么是主机解析?

在一个由计算机组成的网络里,独立的主机使用不同的地址格式来判断各自是谁,是什么。

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

Tags:Symbian OS sockets

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