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

KDECore

  • KNetwork
  • KDatagramSocket
Public Member Functions | Protected Member Functions | List of all members
KNetwork::KDatagramSocket Class Reference

#include <k3datagramsocket.h>

Inheritance diagram for KNetwork::KDatagramSocket:
KNetwork::KClientSocketBase KNetwork::KActiveSocketBase QIODevice KNetwork::KSocketBase

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)
 
- Public Member Functions inherited from KNetwork::KClientSocketBase
 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)
 
- Public Member Functions inherited from KNetwork::KActiveSocketBase
 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)
 
- 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)
 
virtual void setSocketDevice (KSocketDevice *device)
 
KSocketDevice * socketDevice () const
 

Protected Member Functions

virtual qint64 writeData (const char *data, qint64 len, const KSocketAddress *to)
 
- 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 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
 
- Protected Member Functions inherited from KNetwork::KSocketBase
bool hasDevice () const
 
void resetError ()
 
void setError (SocketError error)
 
virtual bool setSocketOptions (int opts)
 
virtual int socketOptions () 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
}
 
- 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)
 
- Static Public Member Functions inherited from KNetwork::KSocketBase
static QString errorString (SocketError code)
 
static bool isFatalError (int code)
 
- Protected Slots inherited from KNetwork::KClientSocketBase
virtual void slotReadActivity ()
 
virtual void slotWriteActivity ()
 

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.

Author
Thiago Macieira thiag.nosp@m.o@kd.nosp@m.e.org
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()

KDatagramSocket::~KDatagramSocket ( )
virtual

Destructor.

This closes the socket.

Definition at line 65 of file k3datagramsocket.cpp.

Member Function Documentation

◆ bind() [1/2]

bool KDatagramSocket::bind ( const KResolverEntry &  entry)
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]

bool KDatagramSocket::bind ( const QString &  node = QString(),
const QString &  service = QString() 
)
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]

bool KDatagramSocket::connect ( const KResolverEntry &  entry,
OpenMode  mode = ReadWrite 
)
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]

bool KDatagramSocket::connect ( const QString &  node = QString(),
const QString &  service = QString(),
OpenMode  mode = ReadWrite 
)
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()

KDatagramPacket KDatagramSocket::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()

qint64 KDatagramSocket::send ( const KDatagramPacket &  packet)
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()

qint64 KDatagramSocket::writeData ( const char *  data,
qint64  len,
const KSocketAddress *  to 
)
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:
  • k3datagramsocket.h
  • k3datagramsocket.cpp
This file is part of the KDE documentation.
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.

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-4.14.38 API Reference

Skip menu "kdelibs-4.14.38 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
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