CLX C++ Libraries
Home >> sockaddress

Declaration

template <
    int Family,
    int Protocol
> class basic_sockaddress;

class sockaddress_error;

Overview

sockaddress は,struct sockaddr のラッパクラスです.ホスト名 and/or ポート番号(または,サービス名)を指定すると,それらの情報を基に新たな struct sockaddr を生成します.sockaddress_error は,指定されたホスト名, またはサービス名に対応するポート番号が見つからない場合に送出される例外です.

Template Parameters

Family
プロトコルファミリーを指定します.
Protocol
プロトコルを指定します.

Related Types

typedef struct sockaddr_in inet_type;
typedef char char_type;
typedef std::basic_string<char> string_type;
typedef unsigned int size_type;

Construction and Member Functions

basic_sockaddress();
explicit basic_sockaddress(const inet_type& addr);
explicit basic_sockaddress(int port);
explicit basic_sockaddress(const char_type* service);
explicit basic_sockaddress(const string_type& service);
explicit basic_sockaddress(const char_type* host, int port);
explicit basic_sockaddress(const string_type& host, int port);
explicit basic_sockaddress(const char_type* host, const char_type* service);
explicit basic_sockaddress(const string_type& host, const string_type& service);
virtual ~basic_sockaddress();

basic_sockaddress& assign(const inet_type& addr);
basic_sockaddress& assign(int port);
basic_sockaddress& assign(const char_type* service);
basic_sockaddress& assign(const string_type& service);
basic_sockaddress& assign(const char_type* host, int port);
basic_sockaddress& assign(const string_type& host, int port);
basic_sockaddress& assign(const char_type* host, const char_type* service);
basic_sockaddress& assign(const string_type& host, const string_type& service);

クライアント用の struct sockaddr を生成する場合はホスト名とポート番号, サーバ用の struct sockaddr を生成する場合にはポート番号のみを指定します. ポート番号の代わりにサービス名 (http, ftp, ...) を指定することもできます.

string_type ipaddr() const;
int port() const;

IP アドレス,およびポート番号の情報へアクセスするためのメソッドです. ipaddr() は,ドット区切りの文字列 (xxx.xxx.xxx.xxx) が返されます.

const inet_type* data() const;
size_type size() const; // inet_typeのサイズ

これらのメソッドは,OS のシステムコールを使う際に,struct sockaddr にアクセスを行う必要がある場合に使用します.