KMessageSocket Class Reference

#include <kmessageio.h>

Inheritance diagram for KMessageSocket:

KMessageIO List of all members.

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.


Public Member Functions

 KMessageSocket (QString host, Q_UINT16 port, QObject *parent=0, const char *name=0)
 KMessageSocket (QHostAddress host, Q_UINT16 port, QObject *parent=0, const char *name=0)
 KMessageSocket (QSocket *socket, QObject *parent=0, const char *name=0)
 KMessageSocket (int socketFD, QObject *parent=0, const char *name=0)
 ~KMessageSocket ()
virtual int rtti () const
virtual Q_UINT16 peerPort () const
virtual QString peerName () const
bool isNetwork () const
bool isConnected () const
void send (const QByteArray &msg)

Protected Slots

virtual void processNewData ()

Protected Member Functions

void initSocket ()

Protected Attributes

QSocket * mSocket
bool mAwaitingHeader
Q_UINT32 mNextBlockLength
bool isRecursive

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.

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.

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.

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.

KMessageSocket::~KMessageSocket (  ) 

Destructor, closes the socket.

Definition at line 86 of file kmessageio.cpp.


Member Function Documentation

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

The runtime idendifcation.

Reimplemented from KMessageIO.

Definition at line 232 of file kmessageio.h.

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.

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.

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.

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.

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.


The documentation for this class was generated from the following files:
KDE Home | KDE Accessibility Home | Description of Access Keys