|
1 <?xml version="1.0" encoding="utf-8"?> |
|
2 <!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
|
3 <!-- This component and the accompanying materials are made available under the terms of the License |
|
4 "Eclipse Public License v1.0" which accompanies this distribution, |
|
5 and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
|
6 <!-- Initial Contributors: |
|
7 Nokia Corporation - initial contribution. |
|
8 Contributors: |
|
9 --> |
|
10 <!DOCTYPE concept |
|
11 PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
|
12 <concept id="GUID-1277D793-4A0A-50A7-9414-AEE93E906E80" xml:lang="en"><title>Sockets |
|
13 Server Architecture</title><prolog><metadata><keywords/></metadata></prolog><conbody> |
|
14 <p>This section describes the architecture of the Sockets Server and the framework |
|
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_d0e117326_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> |