• Skip to content
  • Skip to link menu
KDE 4.2 API Reference
  • KDE API Reference
  • API Reference
  • Sitemap
  • Contact Us
 

libkdegames/kgame

KMessageSocket Class Reference

#include <KGame/KMessageIO>

Inheritance diagram for KMessageSocket:

Inheritance graph
[legend]

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 170 of file kmessageio.h.


Public Member Functions

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

Protected Slots

virtual void processNewData ()

Protected Member Functions

void initSocket ()

Protected Attributes

bool isRecursive
bool mAwaitingHeader
quint32 mNextBlockLength
QTcpSocket * mSocket

Constructor & Destructor Documentation

KMessageSocket::KMessageSocket ( const QString &  host,
quint16  port,
QObject *  parent = 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,
quint16  port,
QObject *  parent = 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 59 of file kmessageio.cpp.

KMessageSocket::KMessageSocket ( QTcpSocket *  socket,
QObject *  parent = 0 
) [explicit]

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 67 of file kmessageio.cpp.

KMessageSocket::KMessageSocket ( int  socketFD,
QObject *  parent = 0 
) [explicit]

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 74 of file kmessageio.cpp.

KMessageSocket::~KMessageSocket (  ) 

Destructor, closes the socket.

Definition at line 82 of file kmessageio.cpp.


Member Function Documentation

void KMessageSocket::initSocket (  )  [protected]

Definition at line 154 of file kmessageio.cpp.

bool KMessageSocket::isConnected (  )  const [virtual]

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

Reimplemented from KMessageIO.

Definition at line 87 of file kmessageio.cpp.

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

Returns:
TRUE as this is a network IO.

Reimplemented from KMessageIO.

Definition at line 246 of file kmessageio.h.

QString KMessageSocket::peerName (  )  const [virtual]

Returns:
The hostname this object is connected to.

See QSocket::peerName.

Reimplemented from KMessageIO.

Definition at line 169 of file kmessageio.cpp.

quint16 KMessageSocket::peerPort (  )  const [virtual]

Returns:
The port that this object is connected to.

See QSocket::peerPort

Reimplemented from KMessageIO.

Definition at line 164 of file kmessageio.cpp.

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

Definition at line 99 of file kmessageio.cpp.

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

The runtime idendifcation.

Reimplemented from KMessageIO.

Definition at line 231 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 92 of file kmessageio.cpp.


Member Data Documentation

bool KMessageSocket::isRecursive [protected]

Definition at line 270 of file kmessageio.h.

bool KMessageSocket::mAwaitingHeader [protected]

Definition at line 267 of file kmessageio.h.

quint32 KMessageSocket::mNextBlockLength [protected]

Definition at line 268 of file kmessageio.h.

QTcpSocket* KMessageSocket::mSocket [protected]

Definition at line 266 of file kmessageio.h.


The documentation for this class was generated from the following files:
  • kmessageio.h
  • kmessageio.cpp

libkdegames/kgame

Skip menu "libkdegames/kgame"
  • Main Page
  • Namespace List
  • Class Hierarchy
  • Alphabetical List
  • Class List
  • File List
  • Class Members
  • Related Pages

API Reference

Skip menu "API Reference"
  • kblackbox
  • kgoldrunner
  • kmahjongg
  • ksquares
  • libkdegames
  •   highscore
  •   kgame
  •   kggzgames
  •   kggzmod
  •   kggznet
  • libkmahjongg
Generated for API Reference by doxygen 1.5.4
This website is maintained by Adriaan de Groot and Allen Winter.
KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal