• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdelibs API Reference
  • KDE Home
  • Contact Us
 

KDECore

  • KNetwork
  • KStreamSocket
Signals | Public Member Functions | List of all members
KNetwork::KStreamSocket Class Reference

#include <k3streamsocket.h>

Inheritance diagram for KNetwork::KStreamSocket:
Inheritance graph
[legend]

Signals

void timedOut ()
 
- Signals inherited from KNetwork::KClientSocketBase
void aboutToConnect (const KNetwork::KResolverEntry &remote, bool &skip)
 
void bound (const KNetwork::KResolverEntry &local)
 
void closed ()
 
void connected (const KNetwork::KResolverEntry &remote)
 
void gotError (int code)
 
void hostFound ()
 
void readyWrite ()
 
void stateChanged (int newstate)
 

Public Member Functions

 KStreamSocket (const QString &node=QString(), const QString &service=QString(), QObject *parent=0L)
 
virtual ~KStreamSocket ()
 
virtual bool bind (const QString &node=QString(), const QString &service=QString())
 
virtual bool bind (const KResolverEntry &entry)
 
virtual bool connect (const QString &node=QString(), const QString &service=QString(), OpenMode mode=ReadWrite)
 
virtual bool connect (const KResolverEntry &entry, OpenMode mode=ReadWrite)
 
int remainingTimeout () const
 
void setTimeout (int msecs)
 
int timeout () const
 
- Public Member Functions inherited from KNetwork::KClientSocketBase
 KClientSocketBase (QObject *parent)
 
virtual ~KClientSocketBase ()
 
virtual qint64 bytesAvailable () const
 
virtual void close ()
 
virtual bool disconnect ()
 
bool emitsReadyRead () const
 
bool emitsReadyWrite () const
 
virtual void enableRead (bool enable)
 
virtual void enableWrite (bool enable)
 
virtual bool flush ()
 
virtual KSocketAddress localAddress () const
 
KResolver & localResolver () const
 
const KResolverResults & localResults () const
 
virtual bool lookup ()
 
virtual bool open (OpenMode mode)
 
virtual KSocketAddress peerAddress () const
 
KResolver & peerResolver () const
 
const KResolverResults & peerResults () const
 
void setFamily (int families)
 
void setResolutionEnabled (bool enable)
 
SocketState state () const
 
virtual qint64 waitForMore (int msecs, bool *timeout=0L)
 
- Public Member Functions inherited from KNetwork::KActiveSocketBase
 KActiveSocketBase (QObject *parent)
 
virtual ~KActiveSocketBase ()
 
virtual bool atEnd () const
 
QString errorString () const
 
virtual bool isSequential () const
 
qint64 peek (char *data, qint64 maxlen)
 
qint64 peek (char *data, qint64 maxlen, KSocketAddress &from)
 
virtual qint64 pos () const
 
qint64 read (char *data, qint64 maxlen)
 
QByteArray read (qint64 len)
 
qint64 read (char *data, qint64 maxlen, KSocketAddress &from)
 
virtual bool seek (qint64)
 
virtual void setSocketDevice (KSocketDevice *device)
 
virtual qint64 size () const
 
void ungetChar (char)
 
qint64 write (const char *data, qint64 len)
 
qint64 write (const QByteArray &data)
 
qint64 write (const char *data, qint64 len, const KSocketAddress &to)
 
- Public Member Functions inherited from QIODevice
 QIODevice ()
 
 QIODevice (QObject *parent)
 
virtual  ~QIODevice ()
 
void aboutToClose ()
 
Offset at () const
 
bool at (Offset offset)
 
virtual qint64 bytesToWrite () const
 
void bytesWritten (qint64 bytes)
 
virtual bool canReadLine () const
 
QString errorString () const
 
int flags () const
 
int getch ()
 
bool getChar (char *c)
 
bool isAsynchronous () const
 
bool isBuffered () const
 
bool isCombinedAccess () const
 
bool isDirectAccess () const
 
bool isInactive () const
 
bool isOpen () const
 
bool isRaw () const
 
bool isReadable () const
 
bool isSequentialAccess () const
 
bool isSynchronous () const
 
bool isTextModeEnabled () const
 
bool isTranslated () const
 
bool isWritable () const
 
int mode () const
 
virtual bool open (QFlags< QIODevice::OpenModeFlag > mode)
 
OpenMode openMode () const
 
qint64 peek (char *data, qint64 maxSize)
 
QByteArray peek (qint64 maxSize)
 
int putch (int ch)
 
bool putChar (char c)
 
qint64 read (char *data, qint64 maxSize)
 
QByteArray read (qint64 maxSize)
 
QByteArray readAll ()
 
qint64 readBlock (char *data, quint64 size)
 
void readChannelFinished ()
 
QByteArray readLine (qint64 maxSize)
 
qint64 readLine (char *data, qint64 maxSize)
 
void readyRead ()
 
virtual bool reset ()
 
void resetStatus ()
 
void setTextModeEnabled (bool enabled)
 
int state () const
 
Status status () const
 
int ungetch (int ch)
 
void ungetChar (char c)
 
virtual bool waitForBytesWritten (int msecs)
 
virtual bool waitForReadyRead (int msecs)
 
qint64 write (const char *data)
 
qint64 write (const char *data, qint64 maxSize)
 
qint64 write (const QByteArray &byteArray)
 
qint64 writeBlock (const QByteArray &data)
 
qint64 writeBlock (const char *data, quint64 size)
 
- Public Member Functions inherited from QObject
 QObject (QObject *parent)
 
 QObject (QObject *parent, const char *name)
 
virtual  ~QObject ()
 
bool blockSignals (bool block)
 
QObject * child (const char *objName, const char *inheritsClass, bool recursiveSearch) const
 
const QObjectList & children () const
 
const char * className () const
 
bool connect (const QObject *sender, const char *signal, const char *method, Qt::ConnectionType type) const
 
void deleteLater ()
 
void destroyed (QObject *obj)
 
bool disconnect (const QObject *receiver, const char *method)
 
bool disconnect (const char *signal, const QObject *receiver, const char *method)
 
void dumpObjectInfo ()
 
void dumpObjectTree ()
 
QList< QByteArray > dynamicPropertyNames () const
 
virtual bool event (QEvent *e)
 
virtual bool eventFilter (QObject *watched, QEvent *event)
 
T findChild (const QString &name) const
 
QList< T > findChildren (const QRegExp &regExp) const
 
QList< T > findChildren (const QString &name) const
 
bool inherits (const char *className) const
 
void insertChild (QObject *object)
 
void installEventFilter (QObject *filterObj)
 
bool isA (const char *className) const
 
bool isWidgetType () const
 
void killTimer (int id)
 
virtual const QMetaObject * metaObject () const
 
void moveToThread (QThread *targetThread)
 
const char * name () const
 
const char * name (const char *defaultName) const
 
QString objectName () const
 
QObject * parent () const
 
QVariant property (const char *name) const
 
void removeChild (QObject *object)
 
void removeEventFilter (QObject *obj)
 
void setName (const char *name)
 
void setObjectName (const QString &name)
 
void setParent (QObject *parent)
 
bool setProperty (const char *name, const QVariant &value)
 
bool signalsBlocked () const
 
int startTimer (int interval)
 
QThread * thread () const
 
- Public Member Functions inherited from KNetwork::KSocketBase
 KSocketBase ()
 
virtual ~KSocketBase ()
 
bool addressReuseable () const
 
bool blocking () const
 
bool broadcast () const
 
SocketError error () const
 
QString errorString () const
 
bool isIPv6Only () const
 
QMutex * mutex () const
 
bool noDelay () const
 
virtual bool setAddressReuseable (bool enable)
 
virtual bool setBlocking (bool enable)
 
virtual bool setBroadcast (bool enable)
 
virtual bool setIPv6Only (bool enable)
 
virtual bool setNoDelay (bool enable)
 
int setRequestedCapabilities (int add, int remove=0)
 
KSocketDevice * socketDevice () const
 

Additional Inherited Members

- Public Types inherited from KNetwork::KClientSocketBase
enum  SocketState {
  Idle, HostLookup, HostFound, Bound,
  Connecting, Open, Closing, Unconnected = Bound,
  Connected = Open, Connection = Open
}
 
- Public Types inherited from KNetwork::KSocketBase
enum  SocketError {
  NoError = 0, LookupFailure, AddressInUse, AlreadyCreated,
  AlreadyBound, AlreadyConnected, NotConnected, NotBound,
  NotCreated, WouldBlock, ConnectionRefused, ConnectionTimedOut,
  InProgress, NetFailure, NotSupported, Timeout,
  UnknownError, RemotelyDisconnected
}
 
enum  SocketOptions {
  Blocking = 0x01, AddressReuseable = 0x02, IPv6Only = 0x04, Keepalive = 0x08,
  Broadcast = 0x10, NoDelay = 0x20
}
 
- Static Public Member Functions inherited from QObject
bool connect (const QObject *sender, const char *signal, const QObject *receiver, const char *method, Qt::ConnectionType type)
 
bool connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type)
 
bool disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *method)
 
bool disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method)
 
QString tr (const char *sourceText, const char *disambiguation, int n)
 
QString trUtf8 (const char *sourceText, const char *disambiguation, int n)
 
- Static Public Member Functions inherited from KNetwork::KSocketBase
static QString errorString (SocketError code)
 
static bool isFatalError (int code)
 
- Public Attributes inherited from QIODevice
typedef Offset
 
typedef OpenMode
 
typedef Status
 
- Protected Slots inherited from KNetwork::KClientSocketBase
virtual void slotReadActivity ()
 
virtual void slotWriteActivity ()
 
- Protected Member Functions inherited from KNetwork::KClientSocketBase
void copyError ()
 
virtual qint64 peekData (char *data, qint64 maxlen, KSocketAddress *from)
 
virtual qint64 readData (char *data, qint64 maxlen, KSocketAddress *from)
 
virtual bool setSocketOptions (int opts)
 
void setState (SocketState state)
 
virtual void stateChanging (SocketState newState)
 
virtual qint64 writeData (const char *data, qint64 len, const KSocketAddress *to)
 
- Protected Member Functions inherited from KNetwork::KActiveSocketBase
virtual qint64 readData (char *data, qint64 len)
 
void resetError ()
 
void setError (SocketError error)
 
virtual qint64 writeData (const char *data, qint64 len)
 
- Protected Member Functions inherited from QIODevice
virtual qint64 readData (char *data, qint64 maxSize)=0
 
virtual qint64 readLineData (char *data, qint64 maxSize)
 
void setErrorString (const QString &str)
 
void setOpenMode (QFlags< QIODevice::OpenModeFlag > openMode)
 
virtual qint64 writeData (const char *data, qint64 maxSize)=0
 
- Protected Member Functions inherited from QObject
bool checkConnectArgs (const char *signal, const QObject *object, const char *method)
 
virtual void childEvent (QChildEvent *event)
 
virtual void connectNotify (const char *signal)
 
virtual void customEvent (QEvent *event)
 
virtual void disconnectNotify (const char *signal)
 
int receivers (const char *signal) const
 
QObject * sender () const
 
int senderSignalIndex () const
 
virtual void timerEvent (QTimerEvent *event)
 
- Protected Member Functions inherited from KNetwork::KSocketBase
bool hasDevice () const
 
void resetError ()
 
void setError (SocketError error)
 
virtual int socketOptions () const
 
- Static Protected Member Functions inherited from QObject
QByteArray normalizeSignalSlot (const char *signalSlot)
 
- Properties inherited from QObject
 objectName
 

Detailed Description

Simple stream socket.

This class provides functionality to creating unbuffered, stream sockets. In the case of Internet (IP) sockets, this class creates and uses TCP/IP sockets.

Objects of this class start, by default, on non-blocking mode. Call setBlocking if you wish to change that.

KStreamSocket objects are thread-safe and can be used in auxiliary threads (i.e., not the thread in which the Qt event loop runs in). Note that KBufferedSocket cannot be used reliably in an auxiliary thread.

Sample usage:

QByteArray httpGet(const QString& hostname)
{
KStreamSocket socket(hostname, "http");
if (!socket.connect())
return QByteArray();
QByteArray data = socket.readAll();
return data;
}

Here's another sample, showing asynchronous operation:

DataRetriever::DataRetriever(const QString& hostname, const QString& port)
: socket(hostname, port)
{
// connect signals to our slots
QObject::connect(&socket, SIGNAL(connected(const KNetwork::KResolverEntry&)),
this, SLOT(slotSocketConnected()));
QObject::connect(&socket, SIGNAL(gotError(int)),
this, SLOT(slotSocketError(int)));
QObject::connect(&socket, SIGNAL(readyRead()),
this, SLOT(slotSocketReadyToRead()));
QObject::connect(&socket, SIGNAL(readyWrite()),
this, SLOT(slotSocketReadyToWrite()));
// set non-blocking mode in order to work asynchronously
socket.setBlocking(false);
// turn on signal emission
socket.enableRead(true);
socket.enableWrite(true);
// start connecting
socket.connect();
}
See also
KNetwork::KBufferedSocket, KNetwork::KServerSocket
Author
Thiago Macieira thiag.nosp@m.o@kd.nosp@m.e.org
Version
0.9
Deprecated:
Use KSocketFactory or KLocalSocket instead

Definition at line 98 of file k3streamsocket.h.

Constructor & Destructor Documentation

KStreamSocket::KStreamSocket ( const QString &  node = QString(),
const QString &  service = QString(),
QObject *  parent = 0L 
)
explicit

Default constructor.

Parameters
nodedestination host
servicedestination service to connect to
parentthe parent QObject object

Definition at line 55 of file k3streamsocket.cpp.

KStreamSocket::~KStreamSocket ( )
virtual

Destructor.

This closes the socket.

Definition at line 69 of file k3streamsocket.cpp.

Member Function Documentation

bool KStreamSocket::bind ( const QString &  node = QString(),
const QString &  service = QString() 
)
virtual

Binds this socket to the given nodename and service, or use the default ones if none are given.

In order to bind to a service and allow the operating system to choose the interface, set node to QString().

Reimplemented from KClientSocketBase.

Upon successful binding, the bound() signal will be emitted. If an error is found, the gotError() signal will be emitted.

Note
Due to the internals of the name lookup and binding mechanism, some (if not most) implementations of this function do not actually bind the socket until the connection is requested (see connect()). They only set the values for future reference.

This function returns true on success.

Parameters
nodethe nodename
servicethe service

Implements KNetwork::KClientSocketBase.

Definition at line 98 of file k3streamsocket.cpp.

bool KStreamSocket::bind ( const KResolverEntry &  entry)
virtual

Reimplemented from KClientSocketBase.

Connect this socket to this specific address.

Unlike bind(const QString&, const QString&) above, this function really does bind the socket. No lookup is performed. The bound() signal will be emitted.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 110 of file k3streamsocket.cpp.

bool KStreamSocket::connect ( const QString &  node = QString(),
const QString &  service = QString(),
OpenMode  mode = ReadWrite 
)
virtual

Reimplemented from KClientSocketBase.

Attempts to connect to the these hostname and service, or use the default ones if none are given. If a connection attempt is already in progress, check on its state and set the error status (NoError, meaning the connection is completed, or InProgress).

If the blocking mode for this object is on, this function will only return when all the resolved peer addresses have been tried or when a connection is established.

Upon successfully connecting, the connected() signal will be emitted. If an error is found, the gotError() signal will be emitted.

This function also implements timeout handling.

Parameters
nodethe remote node to connect to
servicethe service on the remote node to connect to
modemode to operate this socket in

Implements KNetwork::KClientSocketBase.

Definition at line 115 of file k3streamsocket.cpp.

bool KStreamSocket::connect ( const KResolverEntry &  entry,
OpenMode  mode = ReadWrite 
)
virtual

Unshadowing from KClientSocketBase.

Reimplemented from KNetwork::KClientSocketBase.

Definition at line 204 of file k3streamsocket.cpp.

int KStreamSocket::remainingTimeout ( ) const

Retrieves the remaining timeout time (in milliseconds).

This value equals timeout() if there's no connection in progress.

Definition at line 80 of file k3streamsocket.cpp.

void KStreamSocket::setTimeout ( int  msecs)

Sets the timeout value.

Setting this value while a connection attempt is in progress will reset the timer.

Please note that the timeout value is valid for the connection attempt only. No other operations are timed against this value – including the name lookup associated.

Parameters
msecsthe timeout value in milliseconds

Definition at line 90 of file k3streamsocket.cpp.

void KNetwork::KStreamSocket::timedOut ( )
signal

This signal is emitted when a connection timeout occurs.

int KStreamSocket::timeout ( ) const

Retrieves the timeout value (in milliseconds).

Definition at line 75 of file k3streamsocket.cpp.


The documentation for this class was generated from the following files:
  • k3streamsocket.h
  • k3streamsocket.cpp
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:22:14 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

KDECore

Skip menu "KDECore"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Modules
  • Related Pages

kdelibs API Reference

Skip menu "kdelibs API Reference"
  • DNSSD
  • Interfaces
  •   KHexEdit
  •   KMediaPlayer
  •   KSpeech
  •   KTextEditor
  • kconf_update
  • KDE3Support
  •   KUnitTest
  • KDECore
  • KDED
  • KDEsu
  • KDEUI
  • KDEWebKit
  • KDocTools
  • KFile
  • KHTML
  • KImgIO
  • KInit
  • kio
  • KIOSlave
  • KJS
  •   KJS-API
  •   WTF
  • kjsembed
  • KNewStuff
  • KParts
  • KPty
  • Kross
  • KUnitConversion
  • KUtils
  • Nepomuk
  • Plasma
  • Solid
  • Sonnet
  • ThreadWeaver

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal