kdecore Library API Documentation

KServerSocket Class Reference

Monitors a port for incoming TCP/IP connections. More...

#include <ksock.h>

Inheritance diagram for KServerSocket:

QObject List of all members.

Public Slots

virtual void slotAccept (int)

Signals

void accepted (KSocket *s)

Public Member Functions

 KServerSocket (unsigned short int _port, bool _bind=true)
 KServerSocket (const char *_path, bool _bind=true)
virtual ~KServerSocket ()
bool bindAndListen ()
int socket () const
unsigned short int port ()

Protected Member Functions

bool init (unsigned short int)
bool init (const char *_path)

Protected Attributes

int sock

Detailed Description

Monitors a port for incoming TCP/IP connections.

Deprecated:
This class is deprecated and will be removed in the future. For new programs, please use KExtendedSocket class.
You can use a KServerSocket to listen on a port for incoming connections. When a connection arrived in the port, a KSocket is created and the signal accepted is raised. Make sure you always connect to this signal. If you don't the ServerSocket will create new KSocket's and no one will delete them!

If socket() is -1 or less the socket was not created properly.

Author:
Torben Weis <weis@stud.uni-frankfurt.de>
Version:
Id
ksock.h,v 1.63 2003/10/06 07:45:39 bhards Exp

Definition at line 247 of file ksock.h.


Constructor & Destructor Documentation

KServerSocket::KServerSocket unsigned short int  _port,
bool  _bind = true
 

Constructor.

Parameters:
_port the port number to monitor for incoming connections.
_bind if false you need to call bindAndListen yourself. This gives you the opportunity to set options on the socket.

Definition at line 292 of file ksock.cpp.

KServerSocket::KServerSocket const char *  _path,
bool  _bind = true
 

Creates a UNIX domain server socket.

Parameters:
_path path used for the socket.
_bind if false you need to call bindAndListen yourself. This gives you the opportunity to set options on the socket.

Definition at line 283 of file ksock.cpp.

KServerSocket::~KServerSocket  )  [virtual]
 

Destructor.

Closes the socket if it was not already closed.

Definition at line 419 of file ksock.cpp.


Member Function Documentation

bool KServerSocket::bindAndListen  ) 
 

Binds the socket and start listening.

This should only be called once when the constructor was called with _bind false. On error the socket will be closed.

Returns:
true on success. false on error.

Definition at line 329 of file ksock.cpp.

References slotAccept().

int KServerSocket::socket  )  const [inline]
 

Returns the file descriptor associated with the socket.

Returns:
the file descriptor, -1 when an error occurred during construction or bindAndListen

Definition at line 287 of file ksock.h.

unsigned short int KServerSocket::port  ) 
 

Returns the port number which is being monitored.

Returns:
the port number

Definition at line 353 of file ksock.cpp.

References KSocketAddress::address().

void KServerSocket::slotAccept int   )  [virtual, slot]
 

Called when someone connected to our port.

Definition at line 400 of file ksock.cpp.

References accepted(), KExtendedSocket::fd(), and KExtendedSocket::release().

Referenced by bindAndListen().

void KServerSocket::accepted KSocket s  )  [signal]
 

A connection has been accepted.

It is your task to delete the KSocket if it is no longer needed.

WARNING: this signal is always emitted, even if you don't connect anything to it. That would mean memory loss, because the KSockets created go to oblivion.

Parameters:
s the socket that accepted

Referenced by slotAccept().


Member Data Documentation

int KServerSocket::sock [protected]
 

The file descriptor for this socket.

sock may be -1. This indicates that it is not connected.

Definition at line 332 of file ksock.h.


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for kdecore Library Version 3.3.2.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Fri Jul 22 10:16:26 2005 by doxygen 1.3.6 written by Dimitri van Heesch, © 1997-2003