When a Pocket PC device connects to a server over dial-up networking, it is referred to as a RAS client. On Windows CE, RAS clients use the point-to-point protocol (PPP) to establish a connection, set up communication parameters, and transfer data between the client, the server, and the network. Note that because you are using a dial-up connection, data transmission over RAS is typically much slower than using a network card. Because PPP is an industry-standard framing and authentication protocol, you can use your Pocket PC device as a remote client of any PPP server, regardless of which operating system the server is running (for example, your device could be a client to either a Windows .NET server or a Unix box that provides a PPP server). Note that although a PPP connection can be established by using a modem, a direct serial connection, or the infrared port, Pocket PC only supports using the TCP/IP protocol over a RAS session. PPP is generally considered an improvement over the older Serial Line Internet Protocol (SLIP) that was traditionally used for dial-up connections, as PPP supports error correction and is capable of handling either synchronous or asynchronous communications. When a connection is being established, PPP enables both devices that are linking to negotiate various features that will be available to the client, such as the maximum size for datagram packets. Pocket PC devices support the following standard authentication schemes for a dial-up PPP connection:
A PPP connection on Pocket PC also supports either 128-bit or 40-bit encryption. You can find more information about how the point-to-point protocol operates in RFC 1134. Be aware that while PPP is the preferred connection protocol for dial-up connections, SLIP is also supported by Pocket PC. As you might have guessed, RAS is built on top of TCP/IP. Figure 6.1 shows how the Pocket PC Remote Access client sits within the TCP/IP OSI model. Figure 6.1. Pocket PC Remote Access Service and the TCP/IP OSI model
While establishing a dial-up connection on a Pocket PC device is typically done automatically through the Connection Manager (see Chapter 7) or Remote Network Access dialer (see the section "The Remote Network Access (RNA) Dialer"), it is sometime necessary (or useful) to write applications that programmatically dial and establish a remote connection, and that are capable of manipulating data in the remote access phonebook. In order to use the Remote Access Service API functions within your application, you need to include the headers ras.h and raserror.h, and link with the coredll.lib library. Differences between Windows and Pocket PC PPPYou should be aware of the following differences between Pocket PC and desktop implementations of the point-to-point protocol:
|