前のページ次のページ上に戻るホーム BREW C++ ライブラリ & GUI フレームワーク : SophiaFramework 3.0
SFUIPEndpoint
IP アドレスとポート番号のペアを表します。
#include <SFUIPEndpoint.hpp>
class SFUIPEndpoint;
SFMTYPEDEFCLASS(SFUIPEndpoint)

解説

SFUIPEndpoint は IP アドレスとポート番号のペアを表します。

SFUIPEndpoint はエンドポイント文字列で表現することができます。 エンドポイント文字列とは "nnn.nnn.nnn.nnn" または "nnn.nnn.nnn.nnn:port" の形式の文字列で、 n は IP アドレスの 10 進数表記、port はポート番号の 10 進数表記です。

参照

SFUNetworkStream

メンバ

コンストラクタ/デストラクタ
SFUIPEndpoint( Void )
SFUIPEndpoint クラスのコンストラクタです。
SFUIPEndpoint( INAddr addr , INPort port )
SFUIPEndpoint クラスのコンストラクタです。
SFUIPEndpoint( INAddr addr )
SFUIPEndpoint クラスのコンストラクタです。
SFUIPEndpoint( SFXAnsiStringConstRef strEnd , INPort port )
SFUIPEndpoint クラスのコンストラクタです。
SFUIPEndpoint( SFXAnsiStringConstRef strEnd )
SFUIPEndpoint クラスのコンストラクタです。
パブリック関数
Void Address( INAddr addr )
IP アドレスを取得/設定します。
Bool Address( SFXAnsiStringConstRef strEnd )
IP アドレスを取得/設定します。
INAddr Address( Void )
IP アドレスを取得/設定します。
Bool Equals( SFUIPEndpointConstRef strEnd )
2 つのエンドポイントが等しいか判定します。
Void Port( INPort port )
ポート番号を取得/設定します。
INPort Port( Void )
ポート番号を取得/設定します。
Void Set( INAddr addr , INPort port )
IP アドレスとポート番号を設定します。
Bool Set( SFXAnsiStringConstRef strEnd , INPort port )
Set( SFXAnsiStringConstRef strEnd )
IP アドレスとポート番号を設定します。
SFXAnsiString ToString( Bool bIncludePort = false )
エンドポイント文字列を取得します。
Bool operator!=( SFUIPEndpointConstRef end1 , SFUIPEndpointConstRef end2 )
2 つのエンドポイントが等しいか判定します。
Bool operator==( SFUIPEndpointConstRef end1 , SFUIPEndpointConstRef end2 )
2 つのエンドポイントが等しいか判定します。

SFUIPEndpoint::SFUIPEndpoint
SFUIPEndpoint クラスのコンストラクタです。
[ public ]
SFUIPEndpoint(Void);
[ public ]
SFUIPEndpoint(
    INAddr addr   // IP アドレス
    INPort port   // ポート番号
);
[ public ]
SFUIPEndpoint(
    INAddr addr   // IP アドレス
);
[ public ]
SFUIPEndpoint(
    SFXAnsiStringConstRef strEnd   // エンドポイント文字列
    INPort port                    // ポート番号
);
[ public ]
SFUIPEndpoint(
    SFXAnsiStringConstRef strEnd   // エンドポイント文字列
);

解説

SFUIPEndpoint クラスのコンストラクタでは、IP アドレスとポート番号を指定します。

引数にエンドポイント文字列 とポート番号を指定した場合は、 引数に指定されたポート番号が優先されます。

エンドポイント文字列の解析に失敗した場合、 IP アドレスとポート番号に 0 が設定されます。

ポート番号は INPort すなわちネットワーク バイト オーダー で設定する必要があることに注意してください。 これに関する詳細は SFUIPEndpoint::Port を参照してください。

使用例

次の例では IP アドレス 192.168.0.1 ポート番号 80 のエンドポイントを作成しています。

SFUIPEndpoint endpoint("192.168.0.1:80");

SFUIPEndpoint::Address
IP アドレスを取得/設定します。
[ public ]
Void Address(
    INAddr addr   // 設定する IP アドレス
);
[ public ]
Bool Address(
    SFXAnsiStringConstRef strEnd   // 設定するエンドポイント文字列
);
[ public, const ]
INAddr Address(Void);

解説

エンドポイント文字列を指定する場合、 その文字列中のポート番号指定は無視されます。 エンドポイント文字列の解析に成功した場合は true を返し、 失敗した場合は false を返します。 失敗した場合は IP アドレスとポート番号は 0 にリセットされます。

参照

SFUIPEndpoint::Port


SFUIPEndpoint::Equals
2 つのエンドポイントが等しいか判定します。
[ public, const ]
Bool Equals(
    SFUIPEndpointConstRef strEnd   // 比較するエンドポイント
);

戻り値

2 つのエンドポイントの IP アドレスとポート番号がともに等しければ true 、そうでなければ false を返します。

参照

SFUIPEndpoint::operator== | SFUIPEndpoint::operator!=


SFUIPEndpoint::Port
ポート番号を取得/設定します。
[ public ]
Void Port(
    INPort port   // 設定するポート番号
);
[ public, const ]
INPort Port(Void);

戻り値

ポート番号を設定する関数では、自分自身を返します。

解説

SFUIPEndpoint が受け取るポート番号は INPort ですから、ネットワーク バイト オーダーで設定する必要があります。 ポート番号は 16 ビット値ですから、HTONS() マクロでエンディアン変換を行います。

また、Port() 関数から返されるポート番号も INPort で表現されていることに注意してください。 ネットワーク バイト オーダーからホスト バイト オーダーに変換するには、 NTOHS() マクロを使います。

使用例

次の例ではポート番号 80 をネットワーク バイト オーダーに変換した上で、 SFUIPEndpoint に設定しています。

SFUEndpoint endpoint("192.168.0.199");
INPort port = HTONS(80);
endpoint.Port(port);

参照

SFUIPEndpoint::Address | HTONS | NTOHS


SFUIPEndpoint::Set
IP アドレスとポート番号を設定します。
[ public ]
Void Set(
    INAddr addr   // IP アドレス
    INPort port   // ポート番号
);
[ public ]
Bool Set(
    SFXAnsiStringConstRef strEnd   // エンドポイント文字列
    INPort port                    // ポート番号
);
[ public ]
Bool Set(
    SFXAnsiStringConstRef strEnd   // エンドポイント文字列
);

解説

引数にエンドポイント文字列を指定した場合、 その文字列を解析して IP アドレスとポート番号を設定します。 ポート番号を引数で指定された場合は、 エンドポイント文字列の内容にかかわらず引数で指定されたポート番号が設定されます。 文字列の解析に成功すると true を返し、 失敗すると false を返します。 失敗した場合は、IP アドレスとポート番号は 0 にリセットされます。

ポート番号は INPort すなわちネットワーク バイト オーダー で設定する必要があることに注意してください。 これに関する詳細は SFUIPEndpoint::Port を参照してください。

参照

SFUIPEndpoint::Address | SFUIPEndpoint::Port


SFUIPEndpoint::ToString
エンドポイント文字列を取得します。
[ public ]
SFXAnsiString ToString(
    Bool bIncludePort = false   // ポート番号を含めるか
);

戻り値

エンドポイント文字列 を返します。 bIncludePort に true を指定すると、 返される文字列にポート番号も含められます。


SFUIPEndpoint::operator==
2 つのエンドポイントが等しいか判定します。
[ public, friend ]
Bool operator==(
    SFUIPEndpointConstRef end1   // 比較するエンドポイント
    SFUIPEndpointConstRef end2   // 比較するエンドポイント
);

参照

SFUIPEndpoint::Equals | SFUIPEndpoint::operator!=


SFUIPEndpoint::operator!=
2 つのエンドポイントが等しいか判定します。
[ public, friend ]
Bool operator!=(
    SFUIPEndpointConstRef end1   // 比較するエンドポイント
    SFUIPEndpointConstRef end2   // 比較するエンドポイント
);

参照

SFUIPEndpoint::Equals | SFUIPEndpoint::operator==