# kdecore Library API Documentation

Overview | Class Hierarchy | Classes | Classes (annotated) | Members | Namespaces | Source Files

# KNetwork::KPassiveSocketBase Class Reference

Abstract base class for passive sockets. More...

`#include <ksocketbase.h>`

Inheritance diagram for KNetwork::KPassiveSocketBase:

[legend]
Collaboration diagram for KNetwork::KPassiveSocketBase:

[legend]
List of all members.

## Public Member Functions

| KPassiveSocketBase ()
virtual | ~KPassiveSocketBase ()
virtual bool | bind (const KResolverEntry &address)=0
virtual bool | listen (int backlog)=0
virtual void | close ()=0
virtual KActiveSocketBase * | accept ()=0
virtual KSocketAddress | localAddress () const =0
virtual KSocketAddress | externalAddress () const =0

## Detailed Description

Abstract base class for passive sockets.

This socket provides the initial functionality for passive sockets, i.e., sockets that accept incoming connections.

Author:
  Thiago Macieira <thiago.macieira@kdemail.net>

Definition at line 683 of file ksocketbase.h.

## Constructor & Destructor Documentation

KPassiveSocketBase::KPassiveSocketBase | ( |  | ) |

| Constructor. Definition at line 321 of file ksocketbase.cpp.

KPassiveSocketBase::~KPassiveSocketBase | ( |  | ) | `[virtual]`

| Destructor. Definition at line 325 of file ksocketbase.cpp.

## Member Function Documentation

virtual bool KNetwork::KPassiveSocketBase::bind | ( | const KResolverEntry & | address | ) | `[pure virtual]`

Binds this socket to the given address.

The socket will be constructed with the address family, socket type and protocol as those given in the `address` object.

Parameters:

  | address | the address to bind to

Returns:
  true if the binding was successful, false otherwise

Implemented in KNetwork::KServerSocket, KNetwork::KSocketDevice, and KNetwork::KSocksSocketDevice.

virtual bool KNetwork::KPassiveSocketBase::listen | ( | int | backlog | ) | `[pure virtual]`

Puts this socket into listening mode.

Placing a socket in listening mode means that it will be allowed to receive incoming connections from remote hosts.

Note that some socket types or protocols cannot be put in listening mode.

Parameters:

  | backlog | the number of accepted connections to hold before starting to refuse

Returns:
  true if the socket is now in listening mode

Implemented in KNetwork::KServerSocket, KNetwork::KSocketDevice, and KNetwork::KSocksSocketDevice.

virtual void KNetwork::KPassiveSocketBase::close | ( |  | ) | `[pure virtual]`

| Closes this socket. All resources used are freed. Note that closing a passive socket does not close the connections accepted with it. Implemented in KNetwork::KHttpProxySocketDevice, KNetwork::KServerSocket, and KNetwork::KSocketDevice.

virtual KActiveSocketBase* KNetwork::KPassiveSocketBase::accept | ( |  | ) | `[pure virtual]`

Accepts a new incoming connection.

If this socket was in listening mode, you can call this function to accept an incoming connection.

If this function cannot accept a new connection (either because it is not listening for one or because the operation would block), it will return NULL.

Also note that descended classes will override this function to return specialised socket classes.

Implemented in KNetwork::KServerSocket, KNetwork::KSocketDevice, and KNetwork::KSocksSocketDevice.

virtual KSocketAddress KNetwork::KPassiveSocketBase::localAddress | ( |  | ) | const`[pure virtual]`

| Returns this socket's local address. Implemented in KNetwork::KServerSocket, KNetwork::KSocketDevice, and KNetwork::KSocksSocketDevice.

virtual KSocketAddress KNetwork::KPassiveSocketBase::externalAddress | ( |  | ) | const`[pure virtual]`

| Returns this socket's externally-visible address if known. Implemented in KNetwork::KHttpProxySocketDevice, KNetwork::KServerSocket, KNetwork::KSocketDevice, and KNetwork::KSocksSocketDevice.

The documentation for this class was generated from the following files:

- ksocketbase.h
- ksocketbase.cpp

This file is part of the documentation for kdecore Library Version 3.4.1.
Documentation copyright © 1996-2004 the KDE developers.
Generated on Sat Jun 11 20:19:27 2005 by doxygen 1.4.1 written by Dimitri van Heesch, © 1997-2003