Symbian3/PDK/Source/GUID-1277D793-4A0A-50A7-9414-AEE93E906E80.dita
changeset 5 f345bda72bc4
parent 3 46218c8b8afa
child 9 59758314f811
equal deleted inserted replaced
4:4816d766a08a 5:f345bda72bc4
     7     Nokia Corporation - initial contribution.
     7     Nokia Corporation - initial contribution.
     8 Contributors: 
     8 Contributors: 
     9 -->
     9 -->
    10 <!DOCTYPE concept
    10 <!DOCTYPE concept
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    11   PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd">
    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>
    12 <concept id="GUID-1277D793-4A0A-50A7-9414-AEE93E906E80" xml:lang="en"><title>Sockets
    13              Figure 1 - The Socket Server's position in the Communications
    13 Server Architecture</title><prolog><metadata><keywords/></metadata></prolog><conbody>
    14              Framework Architecture. 
    14 <p>This section describes the architecture of the Sockets Server and the framework
    15           </title> <image href="GUID-8E6FD3FD-64C8-51E0-AFE7-76DC5AB6A254_d0e120852_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>
    15 that implements sockets in Symbian platform. </p>
       
    16 <p>The sockets are similar in concept to Berkeley Software Distribution (BSD)
       
    17 sockets from the University of California at Berkeley. The sockets provide
       
    18 a generic interface to network level communications protocols for common operations
       
    19 in network computing. Common operations are: </p>
       
    20 <ul>
       
    21 <li id="GUID-3CFD5267-2254-5816-9443-E4256579E01D"><p>establish a connection </p> </li>
       
    22 <li id="GUID-C1061692-C402-5EB1-91E9-EEB3BD3410CE"><p>send data </p> </li>
       
    23 <li id="GUID-445FF07E-FC13-589A-B375-DED728F88E06"><p>receive data </p> </li>
       
    24 <li id="GUID-BBC3CE6E-01FA-52E6-BE5E-A53A2E5423AC"><p>configure network protocols </p> </li>
       
    25 </ul>
       
    26 <p>The Sockets Client API provides access to other network facilities. Examples
       
    27 of network facilities are: </p>
       
    28 <ul>
       
    29 <li id="GUID-E77E0241-2D8F-531B-93D3-78BD910BCEB4"><p>hostname resolution </p> </li>
       
    30 <li id="GUID-EB93A7E8-33BC-5A82-9CD7-8AB7065CDB1B"><p>service resolution </p> </li>
       
    31 <li id="GUID-439CE845-2A89-5886-81DD-9F3DD0537346"><p>information about protocols </p> </li>
       
    32 <li id="GUID-2AE98676-FEAC-5B49-BB39-1BD635F24FDF"><p>byte manipulation utilities </p> </li>
       
    33 </ul>
       
    34 <section id="GUID-986AB642-22DE-422C-965A-F70CC7A79779"><title>Required Background</title> <p>A
       
    35 working knowledge of socket based communications is recommended in order to
       
    36 understand how Symbian platform implements sockets. </p> <p>A knowledge of
       
    37 the selected protocol is also required if the application is going to set
       
    38 or get values specific to the protocol. For example, the knowledge is required
       
    39 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>.
       
    40 The knowledge is also required if the application sets <xref href="GUID-9A20701F-5744-5F5F-BB0C-AB58EFB7D087.dita">Quality
       
    41 of Service</xref> (QoS) values. </p> </section>
       
    42 <section id="GUID-EBF65B0F-AFAE-4DA4-8B9F-E0E816FB6B67"><title>Key Concepts/Terms</title> <p>The
       
    43 Sockets Server starts when Symbian platform starts, and receives requests
       
    44 for socket based communications. If a request is received for a particular
       
    45 protocol, the Sockets Server loads the appropriate protocol modules to handle
       
    46 that request. </p> </section>
       
    47 <section id="GUID-7CE8ED89-2543-4E11-A9A4-9D2BC0B061B2"><title>Architectural
       
    48 relationships</title> <p>The Sockets Server provides a generic client interface,
       
    49 and a server to which particular protocol modules can be plugged in. A client
       
    50 uses a particular protocol by supplying protocol-specific parameters to Sockets
       
    51 API functions. </p> <fig id="GUID-253611E8-9893-5261-830F-28B888FFA15B">
       
    52 <title>              Figure 1 - The Socket Server's position in the Communications
       
    53              Framework Architecture.            </title>
       
    54 <image href="GUID-8E6FD3FD-64C8-51E0-AFE7-76DC5AB6A254_d0e145781_href.png" placement="inline"/>
       
    55 </fig> <p>The TCP/IP API enables clients to use sockets for TCP/IP, including
       
    56 UDP, TCP, ICMP, IPv4, IPv6, ARP, and DNS. </p> <p>The IrDA Sockets API enables
       
    57 clients to use sockets for IrDA infra-red. </p> <p>The Bluetooth Sockets API
       
    58 enables clients to use sockets for Bluetooth. </p> <p>The SMS PRT API provides
       
    59 the GSM SMS Protocol stack and the WAP protocol stack over SMS. </p> </section>
       
    60 </conbody></concept>