Symbian3/SDK/Source/GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita
author Dominic Pinkman <Dominic.Pinkman@Nokia.com>
Thu, 21 Jan 2010 18:18:20 +0000
changeset 0 89d6a7a84779
permissions -rw-r--r--
Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     1
<?xml version="1.0" encoding="utf-8"?>
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     2
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. -->
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     3
<!-- This component and the accompanying materials are made available under the terms of the License 
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     4
"Eclipse Public License v1.0" which accompanies this distribution, 
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     5
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". -->
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     6
<!-- Initial Contributors:
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     7
    Nokia Corporation - initial contribution.
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     8
Contributors: 
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
     9
-->
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    10
<!DOCTYPE concept
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    11
  PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    12
<concept xml:lang="en" id="GUID-1277D793-4A0A-50A7-9414-AEE93E906E80"><title>Sockets Server Architecture</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This section describes the architecture of the Sockets Server and the framework that implements sockets in Symbian OS. </p> <p>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: </p> <ul><li id="GUID-3CFD5267-2254-5816-9443-E4256579E01D"><p>establish a connection </p> </li> <li id="GUID-C1061692-C402-5EB1-91E9-EEB3BD3410CE"><p>send data </p> </li> <li id="GUID-445FF07E-FC13-589A-B375-DED728F88E06"><p>receive data </p> </li> <li id="GUID-BBC3CE6E-01FA-52E6-BE5E-A53A2E5423AC"><p>configure network protocols </p> </li> </ul> <p>The Sockets Client API provides access to other network facilities. Examples of network facilities are: </p> <ul><li id="GUID-E77E0241-2D8F-531B-93D3-78BD910BCEB4"><p>hostname resolution </p> </li> <li id="GUID-EB93A7E8-33BC-5A82-9CD7-8AB7065CDB1B"><p>service resolution </p> </li> <li id="GUID-439CE845-2A89-5886-81DD-9F3DD0537346"><p>information about protocols </p> </li> <li id="GUID-2AE98676-FEAC-5B49-BB39-1BD635F24FDF"><p>byte manipulation utilities </p> </li> </ul> <section><title>Required Background</title> <p>A working knowledge of socket based communications is recommended in order to understand how Symbian OS implements sockets. </p> <p>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 <xref href="GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449.dita#GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449/GUID-1B597C97-2AEB-32D1-B225-5C1E24F6470F"><apiname>RSocketServ::GetProtocolInfo()</apiname></xref>. The knowledge is also required if the application sets <xref href="GUID-9A20701F-5744-5F5F-BB0C-AB58EFB7D087.dita">Quality of Service</xref> (QoS) values. </p> </section> <section><title>Key Concepts/Terms</title> <p>The Sockets Server starts when Symbian OS 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. </p> </section> <section><title>Architectural relationships</title> <p>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. </p> <fig id="GUID-253611E8-9893-5261-830F-28B888FFA15B"><title>
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    13
             Figure 1 - The Socket Server's position in the Communications
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    14
             Framework Architecture. 
89d6a7a84779 Initial contribution of Documentation_content according to Feature bug 1266 bug 1268 bug 1269 bug 1270 bug 1372 bug 1374 bug 1375 bug 1379 bug 1380 bug 1381 bug 1382 bug 1383 bug 1385
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff changeset
    15
          </title> <image href="GUID-8E6FD3FD-64C8-51E0-AFE7-76DC5AB6A254_d0e95877_href.png" placement="inline"/></fig> <p>The TCP/IP API enables clients to use sockets for TCP/IP, including UDP, TCP, ICMP, IPv4, IPv6, ARP, and DNS. </p> <p>The IrDA Sockets API enables clients to use sockets for IrDA infra-red. </p> <p>The Bluetooth Sockets API enables clients to use sockets for Bluetooth. </p> <p>The SMS PRT API provides the GSM SMS Protocol stack and the WAP protocol stack over SMS. </p> </section> <section><title>Historical Note</title> <p>Prior to Symbian OS 9.5, the Sockets Server would load protocol modules to provide protocol functionality. The protocol modules were known as <i>PRT</i> s. Each protocol module could contain several protocols (e.g. the TCP/IP PRT handled UDP, TCP, ICMP, IP (IPv4 and IPv6), and DNS). In Symbian OS 9.5 a new architecture was added as an alternative to the PRT architecture. This new architecture loads several plug-ins for each protocol. </p> <p>In Symbian OS 9.5 all existing PRTs are included and used by the Communications Framework. In future, all PRTs may be replaced with plug-ins for the new architecture. </p> </section> </conbody></concept>