KDECore
#include <k3datagramsocket.h>

Public Member Functions | |
KDatagramSocket (QObject *parent=0L) | |
virtual | ~KDatagramSocket () |
virtual bool | bind (const KResolverEntry &entry) |
virtual bool | bind (const QString &node=QString(), const QString &service=QString()) |
virtual bool | connect (const KResolverEntry &entry, OpenMode mode=ReadWrite) |
virtual bool | connect (const QString &node=QString(), const QString &service=QString(), OpenMode mode=ReadWrite) |
virtual KDatagramPacket | receive () |
virtual qint64 | send (const KDatagramPacket &packet) |
![]() | |
KClientSocketBase (QObject *parent) | |
virtual | ~KClientSocketBase () |
virtual bool | bind (const KResolverEntry &address) |
virtual bool | bind (const QString &node=QString(), const QString &service=QString())=0 |
virtual qint64 | bytesAvailable () const |
virtual void | close () |
virtual bool | connect (const KResolverEntry &address, OpenMode mode=ReadWrite) |
virtual bool | connect (const QString &node=QString(), const QString &service=QString(), OpenMode mode=ReadWrite)=0 |
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) |
![]() | |
KActiveSocketBase (QObject *parent) | |
virtual | ~KActiveSocketBase () |
virtual bool | atEnd () const |
virtual bool | bind (const KResolverEntry &address)=0 |
virtual bool | connect (const KResolverEntry &address, OpenMode mode=ReadWrite)=0 |
virtual bool | disconnect ()=0 |
QString | errorString () const |
virtual bool | isSequential () const |
virtual KSocketAddress | localAddress () const =0 |
virtual bool | open (OpenMode mode) |
qint64 | peek (char *data, qint64 maxlen) |
qint64 | peek (char *data, qint64 maxlen, KSocketAddress &from) |
virtual KSocketAddress | peerAddress () const =0 |
virtual qint64 | pos () const |
qint64 | read (char *data, qint64 maxlen) |
qint64 | read (char *data, qint64 maxlen, KSocketAddress &from) |
QByteArray | read (qint64 len) |
virtual bool | seek (qint64) |
virtual void | setSocketDevice (KSocketDevice *device) |
virtual qint64 | size () const |
void | ungetChar (char) |
virtual qint64 | waitForMore (int msecs, bool *timeout=0L)=0 |
qint64 | write (const char *data, qint64 len) |
qint64 | write (const char *data, qint64 len, const KSocketAddress &to) |
qint64 | write (const QByteArray &data) |
![]() | |
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) |
virtual void | setSocketDevice (KSocketDevice *device) |
KSocketDevice * | socketDevice () const |
Protected Member Functions | |
virtual qint64 | writeData (const char *data, qint64 len, const KSocketAddress *to) |
![]() | |
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) |
![]() | |
virtual qint64 | peekData (char *data, qint64 maxlen, KSocketAddress *from)=0 |
virtual qint64 | readData (char *data, qint64 len) |
virtual qint64 | readData (char *data, qint64 maxlen, KSocketAddress *from)=0 |
void | resetError () |
void | setError (SocketError error) |
virtual qint64 | writeData (const char *data, qint64 len) |
virtual qint64 | writeData (const char *data, qint64 len, const KSocketAddress *to)=0 |
![]() | |
bool | hasDevice () const |
void | resetError () |
void | setError (SocketError error) |
virtual bool | setSocketOptions (int opts) |
virtual int | socketOptions () const |
Detailed Description
A socket that operates on datagrams.
Unlike KStreamSocket, which operates on a connection-based stream socket (generally TCP), this class and its descendants operates on datagrams, which are normally connectionless.
This class in specific provides easy access to the system's connectionless SOCK_DGRAM sockets.
- Deprecated:
- Use KSocketFactory or KLocalSocket instead
Definition at line 182 of file k3datagramsocket.h.
Constructor & Destructor Documentation
◆ KDatagramSocket()
KDatagramSocket::KDatagramSocket | ( | QObject * | parent = 0L | ) |
Default constructor.
Definition at line 46 of file k3datagramsocket.cpp.
◆ ~KDatagramSocket()
|
virtual |
Member Function Documentation
◆ bind() [1/2]
|
virtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. Binds this socket to the given address.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 95 of file k3datagramsocket.cpp.
◆ bind() [2/2]
|
virtual |
Performs host lookups.
Binds this socket to the given address. If the socket is blocking, the socket will be bound when this function returns.
Note that binding a socket is not necessary to be able to send datagrams. Some protocol families will use anonymous source addresses, while others will allocate an address automatically.
Implements KNetwork::KClientSocketBase.
Definition at line 72 of file k3datagramsocket.cpp.
◆ connect() [1/2]
|
virtual |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. "Connects" this socket to the given address.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 144 of file k3datagramsocket.cpp.
◆ connect() [2/2]
|
virtual |
"Connects" this socket to the given address.
Note that connecting a datagram socket normally does not establish a permanent connection with the peer nor normally returns an error in case of failure.
Connecting means only to designate the given address as the default destination address for datagrams sent without destination addresses (see write(const char*, qint64) ).
- Note
- Calling connect will not cause the socket to be bound. You have to call bind() explicitly.
Implements KNetwork::KClientSocketBase.
Definition at line 100 of file k3datagramsocket.cpp.
◆ receive()
|
virtual |
Receives one datagram from the stream.
The reading process is guaranteed to be atomical and not lose data from the packet.
If nothing could be read, a null object will be returned.
Definition at line 149 of file k3datagramsocket.cpp.
◆ send()
|
virtual |
Sends one datagram into the stream.
The destination address must be set if this socket has not been connected (see connect()).
The data in this packet will be sent only in one single datagram. If the system cannot send it like that, this function will fail. So, please take into consideration the datagram size limits.
- Returns
- the number of bytes written or -1 in case of error.
Definition at line 184 of file k3datagramsocket.cpp.
◆ writeData()
|
protectedvirtual |
Writes data to the socket.
Reimplemented from KSocketBase.
Reimplemented from KNetwork::KClientSocketBase.
Definition at line 189 of file k3datagramsocket.cpp.
The documentation for this class was generated from the following files:
Documentation copyright © 1996-2023 The KDE developers.
Generated on Mon Feb 20 2023 00:00:00 by doxygen 1.9.6 written by Dimitri van Heesch, © 1997-2006
KDE's Doxygen guidelines are available online.