Symbian
Symbian Developer Library

SYMBIAN OS V9.4

Feedback

[Index] [Previous] [Next]


Sockets Client Overview

[Top]


Purpose

Provides a generic interface to communications protocols through communication end points known as sockets. Symbian OS sockets are similar in concept to Berkeley Software Distribution (BSD) sockets from the University of California at Berkeley.

[Top]


Architectural relationships

The Sockets architecture provides a generic client interface, and a server to which particular protocol modules can be plugged in. A client uses a particular protocol by supplying protocol-specific parameters to Sockets API functions.

The TCP/IP API enables clients to use sockets for TCP/IP, including UDP, TCP, ICMP, IPv4, IPv6, ARP, and DNS.

The IrDA Sockets API enables clients to use sockets for IrDA infra-red.

The Bluetooth Sockets API enables clients to use sockets for Bluetooth.

The SMS PRT API provides the GSM SMS Protocol stack and the WAP protocol stack over SMS.

[Top]


Description

The API has some key concepts: socket server, socket, connection, subconnection, host name resolver, network database, and address.


Socket server

The socket server controls access of clients to sockets services, and provides information about the available sockets protocols.

The client interface to the socket server is provided by RSocketServ.

The protocol information interface is provided by TProtocolDesc.


Socket

A socket is a client endpoint to a communications protocol.

The client socket interface allows sockets to be opened, connections made, data read and written, connections listened for and accepted, and address and other options set.

The client socket interface is provided by RSocket.


Connection

An active connection is needed for the TCP/IP protocol before communication can begin. This may be set up either implicitly, via the RSocket or RHostResolver APIs, or explicitly via the RConnection API (in v7.0S onwards).


SubConnection

Separate channels can be set up within an active connection and each subconnection channel can be used for one or more separate conversations over the same connection and network interface. One or more sockets can be bound to each subconnection. Quality of Service (QoS), if used, is specified at the subconnection level.


Host name resolver

A host name resolver provides an interface to host name resolution services, such as DNS, that may be provided by particular protocol modules. Host name resolution services convert between addresses and names.

The client host name resolver interface is provided by RHostResolver.


Network database

The network database provides access to network databases, such as LM-IAS with IrDA, that may be provided by particular protocol modules.

The client network database interface is provided by RNetDatabase.


Address

An address is used to specify the target for communications.

The base address class is provided by TSockAddr. Specific protocol address classes are derived from this.

[Top]


See also

IrDA Sockets Overview

TCP/IP Overview

About Quality of Service (QoS)