Symbian OS sockets API
2010-07-22 01:42:00 来源:WEB开发网如果我们不指定任何特定的值,那么系统会使用一个默认值作为消息通道个数的参数: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通信的应用程序来。
主机解析服务
什么是主机解析?
在一个由计算机组成的网络里,独立的主机使用不同的地址格式来判断各自是谁,是什么。
更多精彩
赞助商链接