KMessageSocket Class Reference

This class implements the message communication using a TCP/IP socket. More...

#include <kmessageio.h>

Inheritance diagram for KMessageSocket:

Inheritance graph
[legend]
Collaboration diagram for KMessageSocket:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 KMessageSocket (QString host, Q_UINT16 port, QObject *parent=0, const char *name=0)
 Connects to a server socket on /e host with /e port.
 KMessageSocket (QHostAddress host, Q_UINT16 port, QObject *parent=0, const char *name=0)
 Connects to a server socket on /e host with /e port.
 KMessageSocket (QSocket *socket, QObject *parent=0, const char *name=0)
 Uses /e socket to do the communication.
 KMessageSocket (int socketFD, QObject *parent=0, const char *name=0)
 Uses the socket specified by the socket descriptor socketFD to do the communication.
 ~KMessageSocket ()
 Destructor, closes the socket.
virtual int rtti () const
 The runtime idendifcation.
virtual Q_UINT16 peerPort () const
virtual QString peerName () const
bool isNetwork () const
bool isConnected () const
 Returns true if the socket is in state /e connected.
void send (const QByteArray &msg)
 Overwritten slot method from KMessageIO.

Protected Slots

virtual void processNewData ()

Protected Member Functions

void initSocket ()

Protected Attributes

QSocket * mSocket
bool mAwaitingHeader
Q_UINT32 mNextBlockLength
bool isRecursive

Detailed Description

This class implements the message communication using a TCP/IP socket.

The object can connect to a server socket, or can use an already connected socket.

Definition at line 169 of file kmessageio.h.


Constructor & Destructor Documentation

KMessageSocket::KMessageSocket QString  host,
Q_UINT16  port,
QObject *  parent = 0,
const char *  name = 0
 

Connects to a server socket on /e host with /e port.

host can be an numerical (e.g. "192.168.0.212") or symbolic (e.g. "wave.peter.org") IP address. You can immediately use the /e sendSystem() and /e sendBroadcast() methods. The messages are stored and sent to the receiver after the connection is established.

If the connection could not be established (e.g. unknown host or no server socket at this port), the signal /e connectionBroken is emitted.

Definition at line 51 of file kmessageio.cpp.

References initSocket(), and mSocket.

Here is the call graph for this function:

KMessageSocket::KMessageSocket QHostAddress  host,
Q_UINT16  port,
QObject *  parent = 0,
const char *  name = 0
 

Connects to a server socket on /e host with /e port.

You can immediately use the /e sendSystem() and /e sendBroadcast() methods. The messages are stored and sent to the receiver after the connection is established.

If the connection could not be established (e.g. unknown host or no server socket at this port), the signal /e connectionBroken is emitted.

Definition at line 60 of file kmessageio.cpp.

References initSocket(), and mSocket.

Here is the call graph for this function:

KMessageSocket::KMessageSocket QSocket *  socket,
QObject *  parent = 0,
const char *  name = 0
 

Uses /e socket to do the communication.

The socket should already be connected, or at least be in /e connecting state.

Note: The /e socket object is then owned by the /e KMessageSocket object. So don't use it otherwise any more and don't delete it. It is deleted together with this KMessageSocket object. (Use 0 as parent for the QSocket object t ensure it is not deleted.)

Definition at line 69 of file kmessageio.cpp.

References initSocket(), and mSocket.

Here is the call graph for this function:

KMessageSocket::KMessageSocket int  socketFD,
QObject *  parent = 0,
const char *  name = 0
 

Uses the socket specified by the socket descriptor socketFD to do the communication.

The socket must already be connected.

This constructor can be used with a QServerSocket within the (pure virtual) method /e newConnection.

Note: The socket is then owned by the /e KMessageSocket object. So don't manipulate the socket afterwards, especially don't close it. The socket is automatically closed when KMessageSocket is deleted.

Definition at line 77 of file kmessageio.cpp.

References initSocket(), and mSocket.

Here is the call graph for this function:

KMessageSocket::~KMessageSocket  ) 
 

Destructor, closes the socket.

Definition at line 86 of file kmessageio.cpp.

References mSocket.


Member Function Documentation

void KMessageSocket::initSocket  )  [protected]
 

Definition at line 158 of file kmessageio.cpp.

References KMessageIO::connectionBroken(), isRecursive, mAwaitingHeader, mNextBlockLength, mSocket, and processNewData().

Referenced by KMessageSocket().

bool KMessageSocket::isConnected  )  const [virtual]
 

Returns true if the socket is in state /e connected.

Reimplemented from KMessageIO.

Definition at line 91 of file kmessageio.cpp.

References mSocket.

bool KMessageSocket::isNetwork  )  const [inline, virtual]
 

Returns:
TRUE as this is a network IO.

Reimplemented from KMessageIO.

Definition at line 249 of file kmessageio.h.

QString KMessageSocket::peerName  )  const [virtual]
 

Since:
3.2
Returns:
The hostname this object is connected to. See QSocket::peerName.

Reimplemented from KMessageIO.

Definition at line 173 of file kmessageio.cpp.

References mSocket.

Q_UINT16 KMessageSocket::peerPort  )  const [virtual]
 

Since:
3.2
Returns:
The port that this object is connected to. See QSocket::peerPort

Reimplemented from KMessageIO.

Definition at line 168 of file kmessageio.cpp.

References mSocket.

void KMessageSocket::processNewData  )  [protected, virtual, slot]
 

Definition at line 103 of file kmessageio.cpp.

References isRecursive, mAwaitingHeader, mNextBlockLength, and mSocket.

Referenced by initSocket().

virtual int KMessageSocket::rtti  )  const [inline, virtual]
 

The runtime idendifcation.

Reimplemented from KMessageIO.

Definition at line 232 of file kmessageio.h.

void KMessageSocket::send const QByteArray &  msg  )  [virtual]
 

Overwritten slot method from KMessageIO.

Note: It is not declared as a slot method, since the slot is already defined in KMessageIO as a virtual method.

Implements KMessageIO.

Definition at line 96 of file kmessageio.cpp.

References mSocket.


Member Data Documentation

bool KMessageSocket::isRecursive [protected]
 

Definition at line 273 of file kmessageio.h.

Referenced by initSocket(), and processNewData().

bool KMessageSocket::mAwaitingHeader [protected]
 

Definition at line 270 of file kmessageio.h.

Referenced by initSocket(), and processNewData().

Q_UINT32 KMessageSocket::mNextBlockLength [protected]
 

Definition at line 271 of file kmessageio.h.

Referenced by initSocket(), and processNewData().

QSocket* KMessageSocket::mSocket [protected]
 

Definition at line 269 of file kmessageio.h.

Referenced by initSocket(), isConnected(), KMessageSocket(), peerName(), peerPort(), processNewData(), send(), and ~KMessageSocket().


The documentation for this class was generated from the following files:
Generated on Wed Aug 23 18:06:01 2006 for libkdegames by  doxygen 1.4.6