Main Page   Class Hierarchy   Compound List   File List   Compound Members   File Members  

PIPXSocket Class Reference

#include <ipxsock.h>

Inheritance diagram for PIPXSocket:

PSocket PChannel PObject PSPXSocket List of all members.

Address and name space look up functions

BOOL GetLocalAddress (Address &addr)
BOOL GetLocalAddress (Address &addr, WORD &port)
BOOL GetPeerAddress (Address &addr)
BOOL GetPeerAddress (Address &addr, WORD &port)
PString GetHostName (const Address &addr)
BOOL GetHostAddress (Address &addr)
BOOL GetHostAddress (const PString &hostname, Address &addr)

Public Methods

 PIPXSocket (WORD port=0)
Overrides from class PChannel
virtual PString GetName () const
Overrides from class PSocket
virtual BOOL Connect (const PString &address)
virtual BOOL Connect (const Address &address)
virtual BOOL Listen (unsigned queueSize=5, WORD port=0, Reusability reuse=AddressIsExclusive)
I/O functions
BOOL SetPacketType (int type)
int GetPacketType ()
virtual BOOL ReadFrom (void *buf, PINDEX len, Address &addr, WORD &port)
virtual BOOL WriteTo (const void *buf, PINDEX len, const Address &addr, WORD port)

Protected Methods

virtual BOOL OpenSocket ()
virtual const char * GetProtocolName () const

Detailed Description

This class describes a type of socket that will communicate using the IPX/SPX protocols.


Constructor & Destructor Documentation

PIPXSocket::PIPXSocket WORD    port = 0
 

Create a new IPX datagram socket.

Parameters:
port  Port number to use for the connection.


Member Function Documentation

virtual BOOL PIPXSocket::Connect const Address   address [virtual]
 

Connect a socket to a remote host on the port number of the socket. This is typically used by the client or initiator of a communications channel. This connects to a "listening" socket at the other end of the communications channel.

The port number as defined by the object instance construction or the PIPSocket::SetPort()# function.

Returns:
TRUE if the channel was successfully connected to the remote host.
Parameters:
address  Address of remote machine to connect to.

virtual BOOL PIPXSocket::Connect const PString   address [virtual]
 

Connect a socket to a remote host on the port number of the socket. This is typically used by the client or initiator of a communications channel. This connects to a "listening" socket at the other end of the communications channel.

The port number as defined by the object instance construction or the PIPSocket::SetPort()# function.

Returns:
TRUE if the channel was successfully connected to the remote host.
Parameters:
address  Address of remote machine to connect to.

Reimplemented from PSocket.

BOOL PIPXSocket::GetHostAddress const PString   hostname,
Address   addr
[static]
 

Get the IPX address for the specified host.

Returns:
TRUE if the IPX number was returned.
Parameters:
addr  Name of host to get address for. This may be either a server name or an IPX number in "colon" format. Variable to receive hosts IPX address

BOOL PIPXSocket::GetHostAddress Address   addr [static]
 

Get the IPX address for the specified host.

Returns:
TRUE if the IPX number was returned.
Parameters:
addr  Variable to receive this hosts IP address

PString PIPXSocket::GetHostName const Address   addr [static]
 

Get the host name for the host specified server.

Returns:
Name of the host or IPX number of host.
Parameters:
addr  Hosts IP address to get name for

BOOL PIPXSocket::GetLocalAddress Address   addr,
WORD &    port
 

Get the IPX/SPX address for the local host.

Returns:
TRUE if the IPX number was returned.
Parameters:
port  Variable to receive peer hosts IPX address Variable to receive peer hosts port number

BOOL PIPXSocket::GetLocalAddress Address   addr
 

Get the IPX/SPX address for the local host.

Returns:
TRUE if the IPX number was returned.
Parameters:
addr  Variable to receive hosts IPX address

virtual PString PIPXSocket::GetName   [virtual]
 

Get the platform and I/O channel type name of the channel. For an IPX/SPX socket this returns the network number, node number of the peer the socket is connected to, followed by the socket number it is connected to.

Returns:
the name of the channel.

Reimplemented from PChannel.

int PIPXSocket::GetPacketType  
 

Gets the packet type for datagrams sent by this socket.

Returns:
type of packets or -1 if error.

BOOL PIPXSocket::GetPeerAddress Address   addr,
WORD &    port
 

Get the IPX/SPX address for the peer host the socket is connected to.

Returns:
TRUE if the IPX number was returned.
Parameters:
port  Variable to receive peer hosts IPX address Variable to receive peer hosts port number

BOOL PIPXSocket::GetPeerAddress Address   addr
 

Get the IPX/SPX address for the peer host the socket is connected to.

Returns:
TRUE if the IPX number was returned.
Parameters:
addr  Variable to receive hosts IPX address

virtual const char* PIPXSocket::GetProtocolName   [protected, virtual]
 

This function returns the protocol name for the socket type.

Implements PSocket.

Reimplemented in PSPXSocket.

virtual BOOL PIPXSocket::Listen unsigned    queueSize = 5,
WORD    port = 0,
Reusability    reuse = AddressIsExclusive
[virtual]
 

Listen on a socket for a remote host on the specified port number. This may be used for server based applications. A "connecting" socket begins a connection by initiating a connection to this socket. An active socket of this type is then used to generate other "accepting" sockets which establish a two way communications channel with the "connecting" socket.

If the port# parameter is zero then the port number as defined by the object instance construction or the PIPSocket::SetPort()# function.

For the UDP protocol, the queueSize# parameter is ignored.

Returns:
TRUE if the channel was successfully opened.
Parameters:
port  Number of pending accepts that may be queued.
reuse  Port number to use for the connection. Can/Cant listen more than once.

Reimplemented from PSocket.

Reimplemented in PSPXSocket.

virtual BOOL PIPXSocket::OpenSocket   [protected, virtual]
 

Implements PSocket.

Reimplemented in PSPXSocket.

virtual BOOL PIPXSocket::ReadFrom void *    buf,
PINDEX    len,
Address   addr,
WORD &    port
[virtual]
 

Read a datagram from a remote computer.

Returns:
TRUE if all the bytes were sucessfully written.
Parameters:
len  Data to be written as URGENT TCP data.
addr  Number of bytes pointed to by buf#.
port  Address from which the datagram was received. Port from which the datagram was received.

BOOL PIPXSocket::SetPacketType int    type
 

Sets the packet type for datagrams sent by this socket.

Returns:
TRUE if the type was successfully set.
Parameters:
type  IPX packet type for this socket.

virtual BOOL PIPXSocket::WriteTo const void *    buf,
PINDEX    len,
const Address   addr,
WORD    port
[virtual]
 

Write a datagram to a remote computer.

Returns:
TRUE if all the bytes were sucessfully written.
Parameters:
len  Data to be written as URGENT TCP data.
addr  Number of bytes pointed to by buf#.
port  Address to which the datagram is sent. Port to which the datagram is sent.


The documentation for this class was generated from the following file:
Generated on Thu Jun 24 10:03:40 2004 for PWLib by doxygen1.2.18