Sockets Server Architecture

This section describes the architecture of the Sockets Server and the framework that implements sockets in Symbian platform.

The sockets are similar in concept to Berkeley Software Distribution (BSD) sockets from the University of California at Berkeley. The sockets provide a generic interface to network level communications protocols for common operations in network computing. Common operations are:

  • establish a connection

  • send data

  • receive data

  • configure network protocols

The Sockets Client API provides access to other network facilities. Examples of network facilities are:

  • hostname resolution

  • service resolution

  • information about protocols

  • byte manipulation utilities

Required Background

A working knowledge of socket based communications is recommended in order to understand how Symbian platform implements sockets.

A knowledge of the selected protocol is also required if the application is going to set or get values specific to the protocol. For example, the knowledge is required to understand the data returned from RSocketServ::GetProtocolInfo(). The knowledge is also required if the application sets Quality of Service (QoS) values.

Key Concepts/Terms

The Sockets Server starts when Symbian platform starts, and receives requests for socket based communications. If a request is received for a particular protocol, the Sockets Server loads the appropriate protocol modules to handle that request.

Architectural relationships

The Sockets Server 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.

Figure: Figure 1 - The Socket Server's position in the Communications Framework Architecture.

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.