User`s guide

Figure 11: Two VidClient windows
errors that occur. Individual data buffers are not shown in the event list, as they are in VidClient,
since these are very frequent and are of little use to the user.
IRServer, like VidServer, opens up a port on which to accept connections. It displays a window
containing a list of timestamped events (see Figure 13). Events displayed mainly involve client
connection and disconnection and any errors that occur. As with IRClient, data buffers are not
displayed in the event list.
Each IRClient makes a connection to a server. It then opens a connection to a serial port. This
serial port may be a direct COM port (such as COM1 or COM2), or may be a virtual COM port.
The QuickBeam infra-red drivers create a virtual COM port, typically COM4, although this can be
changed, and COM5 is commonly used if COM4 is a real port.
The QuickBeam software lets users specify the port using two names a short name (e.g.
“COM4”) and a long name (e.g. “COM4 (IrCOMM port)”). The short name is useful for stan-
dard communications programs which expect port names to be of the form COMx, where x is a
number (also note that there is no space after “COM”). The long name is useful when a more de-
scriptive name is required, such as in a list of communication ports shown to the user. IRServer
uses the short name in its preference file by default, but either name can be used.
IRClient receives data from the serial port by reading data from the port every n milliseconds
(n = 500 by default). The serial data is kept in a buffer until an explicit read call has been made.
If data was received from the read call, IRClient then sends the data to the IRServer application,
via the TCP/IP connection. The IRServer application then receives the data. If two clients are
connected, then it sends the data on to the second client. The second client receives the data and
writes it to the serial port. Thus the infra-red data is converted to electronic data, transmitted
across the internet using TCP/IP, and then converted back to infra-red signals at the other end.
As mentioned in Section 2.6, latency is not a problem with IrDA. IrDA is designed to withstand
a certain amount of latency it is important since it is easy to lose a connection if two handheld
18