class KInetSocketAddress

an Internet socket address. More...

Definition#include <ksockaddr.h>
InheritsKSocketAddress [public ]
List of all Methods
Annotated List
Files
Globals
Hierarchy
Index

Public Methods

Public Static Methods

Public Members

Protected Methods


Detailed Description

An Inet (IPv4 or IPv6) socket address

This is an IPv4 or IPv6 address of the Internet

This class inherits most of the functionality from KSocketAddress, but is targeted specifically to Internet addresses

 KInetSocketAddress ()

KInetSocketAddress

Default constructor. Does nothing

 KInetSocketAddress (const KInetSocketAddress&)

KInetSocketAddress

Copy constructor

 KInetSocketAddress (const sockaddr_in* sin, ksocklen_t len)

KInetSocketAddress

Creates an IPv4 socket from raw sockaddr_in

Parameters:
sina sockaddr_in structure to copy from
lenthe socket address length

 KInetSocketAddress (const sockaddr_in6* sin6, ksocklen_t len)

KInetSocketAddress

Creates an IPv6 socket from raw sockaddr_in6

Parameters:
sin6a sockaddr_in6 structure to copy from
lenthe socket address length

 KInetSocketAddress (const in_addr& addr, unsigned short port)

KInetSocketAddress

Creates a socket from information

Parameters:
addra binary address
porta port number

 KInetSocketAddress (const in6_addr& addr, unsigned short port)

KInetSocketAddress

Creates a socket from information

Parameters:
addra binary address
porta port number

 KInetSocketAddress (const QString& addr, unsigned short port, int family = -1)

KInetSocketAddress

Creates a socket from text representation

Parameters:
addra text representation of the address
porta port number
familythe family for this address

See also: setAddress

 ~KInetSocketAddress ()

~KInetSocketAddress

[virtual]

Destructor

bool  setAddress (const KInetSocketAddress& ksa)

setAddress

Sets this socket to given socket

Parameters:
ksathe other socket

bool  setAddress (const sockaddr_in* sin, ksocklen_t len)

setAddress

Sets this socket to given raw socket

Parameters:
sinthe raw socket
lenthe socket address length

bool  setAddress (const sockaddr_in6* sin6, ksocklen_t len)

setAddress

Sets this socket to given raw socket.

Note: this function does not clear the scope ID and flow info values

Parameters:
sin6the raw socket
lenthe socket address length

bool  setAddress (const in_addr& addr, unsigned short port)

setAddress

Sets this socket to raw address and port

Parameters:
addrthe address
portthe port number

bool  setAddress (const in6_addr& addr, unsigned short port)

setAddress

Sets this socket to raw address and port

Parameters:
addrthe address
portthe port number

bool  setAddress (const QString& addr, unsigned short port, int family = -1)

setAddress

Sets this socket to text address and port

You can use the family parameter to specify what kind of socket you want this to be. It could be AF_INET or AF_INET6 or -1.

If the value is -1 (default), this function will make an effort to discover what is the family. That isn't too hard, actually, and it works in all cases. But, if you want to be sure that your socket is of the type you want, use this parameter.

This function returns false if the socket address was not valid.

Parameters:
addrthe address
portthe port number
familythe address family, -1 for any

bool  setHost (const in_addr& addr)

setHost

Sets this socket's host address to given raw address

Parameters:
addrthe address

bool  setHost (const in6_addr& addr)

setHost

Sets this socket's host address to given raw address

Parameters:
addrthe address

bool  setHost (const QString& addr, int family = -1)

setHost

Sets this socket's host address to given text representation

Parameters:
addrthe address
familythe address family, -1 for any

bool  setPort (unsigned short port)

setPort

Sets this socket's port number to given port number

Parameters:
portthe port number

bool  setFamily (int family)

setFamily

Turns this into an IPv4 or IPv6 address.

returns false if this is v6 and information was lost. That doesn't mean the conversion was unsuccessful.

bool  setFlowinfo (Q_UINT32 flowinfo)

setFlowinfo

Sets flowinfo information for this socket address if this is IPv6

Parameters:
flowinfoflowinfo

bool  setScopeId (int scopeid)

setScopeId

Sets the scope id for this socket if this is IPv6

Parameters:
scopeidthe scope id

QString  pretty ()

pretty

[const virtual]

Returns a pretty representation of this address

Reimplemented from KSocketAddress.

QString  nodeName ()

nodeName

[const virtual]

Returns the text representation of the host address

Reimplemented from KSocketAddress.

QString  serviceName ()

serviceName

[const virtual]

Returns the text representation of the port number

Reimplemented from KSocketAddress.

const sockaddr_in*  addressV4 ()

addressV4

[const]

Returns the socket address.

This will be NULL if this is a non-convertible v6. This function will return an IPv4 socket if this IPv6 socket is a v4-mapped address. That is, if it's really an IPv4 address, but in v6 disguise.

const sockaddr_in6*  addressV6 ()

addressV6

[const]

Returns the socket address in IPv6

in_addr  hostV4 ()

hostV4

[const]

Returns the host address. Might be empty

in6_addr  hostV6 ()

hostV6

[const]

Returns the host address.

WARNING: this function is not defined if there is no IPv6 support

unsigned short  port ()

port

[const]

Returns the port number

Q_UINT32  flowinfo ()

flowinfo

[const]

Returns flowinfo for IPv6 socket

int  scopeId ()

scopeId

[const]

Returns the scope id for this IPv6 socket

ksocklen_t  size ()

size

[const virtual]

Returns the socket length Will be either sizeof(sockaddr_in) or sizeof(sockaddr_in6)

Reimplemented from KSocketAddress.

bool  areEqualInet (const KSocketAddress &s1, const KSocketAddress &s2, bool coreOnly)

areEqualInet

[static]

bool  areEqualInet6 (const KSocketAddress &s1, const KSocketAddress &s2, bool coreOnly)

areEqualInet6

[static]

 operator const sockaddr_in* ()

operator const sockaddr_in*

[const]

Returns the socket address. This will be NULL if this is a non-convertible v6.

See also: addressV4

 operator const sockaddr_in6* ()

operator const sockaddr_in6*

[const]

KInetSocketAddress&  operator= (const KInetSocketAddress &other)

operator=

Sets this object to be the same as the other

Reimplemented from KSocketAddress.

QString  addrToString (int family, const void *addr)

addrToString

[static]

Convert s the given raw address into text form. This function returns QString::null if the address cannot be converted.

Parameters:
familythe family of the address
addrthe address, in raw form

bool  stringToAddr (int family, const char *text, void *dest)

stringToAddr

[static]

Converts the address given in text form into raw form. The size of the destination buffer dest is supposed to be large enough to hold the address of the given family. This function returns true if convertion was successful.

Parameters:
familythe family of the address
textthe text representation of the address
destthe destination buffer of the address

friend class KExtendedSocket

KExtendedSocket

void  virtual_hook ( int id, void* data )

virtual_hook

[protected virtual]

Reimplemented from KSocketAddress.