BNetAddress
継承: BArchivable
宣言: be/net/NetAddress.h
ライブラリ: libnetapi.so
アロケーション: Constructor only
BNetAddressクラスはネットワークアドレスを代表するのに構築され、さまざまなフォーマットのアドレスへのアクセスを提供します。追加の関数はフォーマット変換をするのに使用できます。
コンストラクタとデストラクタ
BNetAddress()
|
|
|
|
|
|
BNetAddress(const char *hostname = NULL, unsigned short port = 0)
| |
BNetAddress(const sockaddr_in &sa)
| |
BNetAddress(in_addr addr, int port = 0)
| |
BNetAddress(uint32 addr, int port = 0)
| |
BNetAddress(const char *hostname, const char *protocol, const char *service)
| |
BNetAddress(BNetAddress &)
| |
BNetAddress(BMessage *archive)
| |
BNetAddressオブジェクトを構築して、指定されたアドレスを参照する。アドレスを指定する方法はいくつかある。
hostname(ホストネーム)とport(ポート)番号によって。たとえば、www.be.comのHTTPポートに接続するために、"www.be.com"とhostnameに渡し、port番号として80を渡す。
sockaddr_in構造体によって。この構造体はネットワークファミリーとポート番号、IPアドレスを含んでいる。
IPアドレスとポート番号によって。IPアドレスはin_addr、またはuint32の型の値のどちらかによっても指定できる。IPアドレスはネットワークバイトオーダーによって指定されなければならない。htonl()を参照してください。
hostnameとprotocolとservice名によって。これによってポートは /etc/services ファイルで(典型的には"tcp" または "udp")プロトコルと、("http"や"ftp"といったような)サービス名をファイル内のエントリーで検索する。このファイルのフォーマットの詳細はgetservbyname()を参照してください。
すでにあるBNetAddressをコピーすることによって
BMessageからアーカイブされたBNetAddressをunflattenすることによって。
BNetAddressを作成後、作成中にエラーが起こってないことを確認するために必ずInitCheck()関数を呼び出す必要がある。SetTo()関数によってあとでアドレスを変更することも可能である。
~BNetAddress
典型的なデストラクタです。
メンバM関数
InitCheck()
|
|
|
|
|
|
status_t InitCheck(void) const
| |
オブジェクトがちゃんと初期化されたかどうかを示すstatus_t型の変数を返す。
返値
B_OK BNetAddressはきちんと作成された。
GetAddr()
|
|
|
|
|
|
status_t GetAddr(char *hostname = NULL, unsigned short *port = NULL) const
| |
status_t GetAddr(struct sockaddr_in &sa) const
| |
status_t GetAddr(in_addr &addr, unsigned short *port = NULL) const
| |
BNetAddressオブジェクトが代表するアドレスを示された書式の関数の使用方法によって示されたフォーマットで返す。
(1番目の書式で)もし、ホストネームを気にしないのであったら、NULLをhostname引数に渡してもよい。もし、ポート番号を気にしないのであったらNULLをport引数に渡してもよい。
返値
B_OK. アドレスはきちんと返された。
SetTo()
|
|
|
|
|
status_t SetTo(const char *hostname, const char *protocol,
const char *service)
| |
status_t SetTo(const char *hostname = NULL, unsigned short port = 0)
| |
status_t SetTo(const sockaddr_in &sa)
| |
status_t SetTo(in_addr addr, int port = 0)
| |
status_t SetTo(uint32 addr = INADDR_ANY, int port = 0)
| |
BNetAddressオブジェクトに対して、示された書式のフォーマットでアドレスをセットする。これらの書式についてはコンストラクタの項で述べている。
返値
B_OK. アドレスはきちんとセットされた。
訳者 big56