author | Dominic Pinkman <dominic.pinkman@nokia.com> |
Fri, 11 Jun 2010 15:24:34 +0100 | |
changeset 9 | 59758314f811 |
parent 5 | f345bda72bc4 |
child 12 | 80ef3a206772 |
permissions | -rw-r--r-- |
9
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
1 |
<?xml version="1.0" encoding="utf-8"?> |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
2 |
<!-- Copyright (c) 2007-2010 Nokia Corporation and/or its subsidiary(-ies) All rights reserved. --> |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
3 |
<!-- This component and the accompanying materials are made available under the terms of the License |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
4 |
"Eclipse Public License v1.0" which accompanies this distribution, |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
5 |
and is available at the URL "http://www.eclipse.org/legal/epl-v10.html". --> |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
6 |
<!-- Initial Contributors: |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
7 |
Nokia Corporation - initial contribution. |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
8 |
Contributors: |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
9 |
--> |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
10 |
<!DOCTYPE concept |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
11 |
PUBLIC "-//OASIS//DTD DITA Concept//EN" "concept.dtd"> |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
12 |
<concept xml:lang="en" id="GUID-56DF9711-1EFA-5A07-A92B-3F3D6FBD17A8"><title>Sockets Server Client API</title><prolog><metadata><keywords/></metadata></prolog><conbody><p>This topic introduces the Sockets Server API and discusses the main classes. </p> <p>The Sockets Server Client interfaces make asynchronous calls to the Sockets Server. The Server co-ordinates client access to socket services, and manages communications with the protocol plug-ins that provide support for the particular networking protocols. </p> <p>Each protocol plug-in may contain a number of protocols. The term ‘protocol’ may also be used to describe a suite of protocols. For example, the TCP/IP protocol plug-in contains UDP, TCP, ICMP, IP, and DNS. Sockets can access UDP and TCP to transfer data over IP. Another example of a protocol plug-in is the IrDA plug-in. the IrDA plug-in is used for communicating over infrared. </p> <p>The Sockets Server loads protocols plug-ins at runtime either explicitly or on demand. When the server starts, the server scans <filepath>\private\101f7989\esock</filepath> for <xref href="GUID-9430D718-6E4D-5AE1-8389-24A47DFAAF16.dita">.esk</xref> files to see which protocols and services are defined, and which protocols to load. </p> <p>The Sockets Server Client API implements the idea of <keyword>transport independence</keyword>: different protocols are accessed through the same API. However, individual protocols exhibit different properties and semantics regarding socket behaviour. The semantics implemented by any given protocol can be found by interrogating the system using <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>, which describes the protocol semantics encapsulated in a <xref href="GUID-0FB20F20-67EE-3948-B9F6-E1D679AC3D0F.dita"><apiname>TProtocolDesc</apiname></xref>. </p> <section><title>APIs</title> <p>Five main classes provide the Sockets Server Client API functionality: </p> <ul><li id="GUID-8F21CED0-F874-59E5-9CDE-8212C20F7101"><p> <xref href="GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449.dita"><apiname>RSocketServ</apiname></xref> </p> </li> <li id="GUID-D6C46C27-33FA-55E1-9DA0-0FCB64239A65"><p> <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref> </p> </li> <li id="GUID-C65285B2-F251-5021-B830-6388F8600AB0"><p> <xref href="GUID-B16CAD6D-85B1-3482-AAC0-9BADEDB6ABDD.dita"><apiname>RHostResolver</apiname></xref> </p> </li> <li id="GUID-30061681-0502-57D4-9E24-3AC265140435"><p> <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> </p> </li> <li id="GUID-62AEBD22-81FC-539D-BDD3-12CBA93CB0DB"><p> <xref href="GUID-0AFDA357-EE44-3788-9CAB-162B874134BF.dita"><apiname>RSubConnection</apiname></xref> </p> </li> </ul> <p>The <xref href="GUID-EF29C1D7-B1E5-370F-AE37-66231A6BE449.dita"><apiname>RSocketServ</apiname></xref> class establishes and reserves resources for the base communication session to the Sockets Server. The <codeph>RSocketServ</codeph> hosts other Sockets Server Client APIs as subsessions inside the <codeph>RSocketServ</codeph> session. The Sockets Server Client APIs which are hosted as subsessions inside <codeph>RSocketServ</codeph> are <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref>, <xref href="GUID-B16CAD6D-85B1-3482-AAC0-9BADEDB6ABDD.dita"><apiname>RHostResolver</apiname></xref>, <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> and <xref href="GUID-0AFDA357-EE44-3788-9CAB-162B874134BF.dita"><apiname>RSubConnection</apiname></xref>. The <codeph>RSocketServ</codeph> class provides functions to load and query protocols. </p> <fig id="GUID-D7E19F08-CADC-5050-A9C7-5A48213B2B0E"><title> |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
13 |
Figure 1 - Class diagram of RSocketServ inheritance |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
14 |
</title> <image href="GUID-9022E900-2BDD-5B64-9802-4EBA5BFEB4B2_d0e141412_href.png" placement="inline"/></fig> <fig id="GUID-142DBA45-272F-59FE-8008-755679B65361"><title> |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
15 |
Figure 2 - Class diagram of classes which make up the subsession APIs |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
16 |
to RSocketServ |
59758314f811
Week 23 contribution of PDK documentation content. See release notes for details. Fixes bugs Bug 2714, Bug 462.
Dominic Pinkman <dominic.pinkman@nokia.com>
parents:
5
diff
changeset
|
17 |
</title> <image href="GUID-E91931D8-E433-58FB-B064-70903FA4C4A5_d0e141418_href.png" placement="inline"/></fig> <p>The <xref href="GUID-D4F08503-F1EF-3531-9C3C-4AF24A6255F0.dita"><apiname>RSocket</apiname></xref> class provides a client endpoint to a protocol. It provides the following services: </p> <ul><li id="GUID-4472E72B-56E5-573E-9C91-10D63616C773"><p>socket creation </p> </li> <li id="GUID-20140DAB-5315-5A1F-B8FD-89203020542D"><p>reading from and writing to a protocol </p> </li> <li id="GUID-405469A5-0144-52DD-9A2D-5A517DF37267"><p>binding to addresses </p> </li> <li id="GUID-E8EBB098-2DAB-5851-BEE2-FE3E3329F414"><p>active connecting </p> </li> <li id="GUID-1C67F551-6AC1-506E-B1AF-C475C2C68412"><p>passive connection through the listen/accept model </p> </li> </ul> <p>The <xref href="GUID-BED8A733-2ED7-31AD-A911-C1F4707C67FD.dita"><apiname>RConnection</apiname></xref> class provides access to the Connection Management functionality of a socket. See <xref href="GUID-BD8446C5-3ADE-59A6-A13A-A5482D6FC56F.dita">Connection Management</xref>. </p> <p>The <xref href="GUID-0AFDA357-EE44-3788-9CAB-162B874134BF.dita"><apiname>RSubConnection</apiname></xref> API provides functions to specify Quality of Service parameters for a channel. See <xref href="GUID-06CE943B-3D6A-50D1-97C3-CCFE4D4F5864.dita">SubConnection Client API</xref>. </p> </section> </conbody><related-links><link href="GUID-9430D718-6E4D-5AE1-8389-24A47DFAAF16.dita"><linktext>ESK Files</linktext> </link> <link href="GUID-782AA56A-D3CF-5239-AB62-9AE6741964E8.dita"><linktext> Reading from a Socket: |
1
25a17d01db0c
Addition of the PDK content and example code for Documentation_content according to Feature bug 1607 and bug 1608
Dominic Pinkman <Dominic.Pinkman@Nokia.com>
parents:
diff
changeset
|
18 |
Tutorial</linktext> </link> </related-links></concept> |