CLX C++ Libraries - sockaddress
Author: clown

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* host, int port);
    explicit basic_sockaddress(const string_type& host, int port);
    virtual ~basic_sockaddress();

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

クライアント用の struct sockaddr を生成する場合はホスト名とポート番号， サーバ用の struct sockaddr を生成する場合にはポート番号のみを指定します．

    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 へアクセスを行う必要がある場合に使用します．