CAsyncSocket::GetSockOpt
ソケットの一覧を取得するには、このメンバー関数を呼び出します。
BOOL GetSockOpt(
int nOptionName,
void* lpOptionValue,
int* lpOptionLen,
int nLevel = SOL_SOCKET
);
パラメーター
nOptionName
値が取得されるソケットのオプション。lpOptionValue
要求されたオプションの値が返されるバッファーへのポインター。選択したオプションに関連付けられた値はバッファー lpOptionValueに返されます。lpOptionLen によって指されるバイトの整数は、最初にこのバッファーのサイズを含める必要があります。; およびでは、値のサイズに返される設定されます。SO_LINGERの場合、これは LINGER の構造体のサイズ。; 他のすべてのオプションの場合、選択して BOOL または intのサイズです。"解説"のオプションとサイズの一覧を参照してください。lpOptionLen
バイト lpOptionValue バッファーのサイズへのポインター。nLevel
オプションが定義されているレベル; 唯一のサポート レベルは SOL_SOCKET と IPPROTO_TCPです。
戻り値
関数が正常に終了した場合は、; は 0 と特定のエラー コードは GetLastErrorを呼び出して取得できます。SetSockOptと、オプションが設定されていない場合は、GetSockOpt は、オプションの既定値を返します。このエラーは、次のメンバー関数に適用されます:
WSANOTINITIALISED は正常に AfxSocketInit は、この API を使用する前に行う必要があります。
WSAENETDOWN は、Windows ソケット実装ネットワークのサブシステムが失敗したことを検出しました。
WSAEFAULTlpOptionLen の引数は無効です。
WSAEINPROGRESS A のブロックの Windows ソケット処理は進行中です。
WSAENOPROTOOPT オプションは、未知またはサポートされていません。特に、SO_BROADCAST は、型 SOCK_STREAMソケットで SO_ACCEPTCONN、SO_DONTLINGER、SO_KEEPALIVE、SO_LINGERと SO_OOBINLINE は、型 SOCK_DGRAMソケットでサポートされていませんが、サポートされていません。
WSAENOTSOCK は記述子ソケットではありません。
解説
GetSockOpt は、任意の型のソケットによって、任意の状態に関連付けられたソケットのオプションの現在の値を取得し lpOptionValueに格納されます。パケットのルーティングなどのオプションの影響のソケット処理、帯域外のデータ転送など。
次のオプションは GetSockOptでサポートされています。型は lpOptionValueによってアドレス データの種類を識別します。TCP_NODELAY レベル オプションの使用 IPPROTO_TCP; 他のすべてのオプション使用 SOL_SOCKETレベル。
値 |
型 |
説明 |
---|---|---|
SO_ACCEPTCONN |
BOOL |
ソケットはリッスンします。 |
SO_BROADCAST |
BOOL |
ソケットはブロードキャスト メッセージの伝送のために構成されます。 |
SO_DEBUG |
BOOL |
デバッグが有効になります。 |
SO_DONTLINGER |
BOOL |
true の場合、SO_LINGER のオプションが無効になります。 |
SO_DONTROUTE |
BOOL |
ルーティングは無効になります。 |
SO_ERROR |
int |
エラー ステータスを取得するとオフにします。 |
SO_KEEPALIVE |
BOOL |
キープアライブが送信されます。 |
SO_LINGER |
構造体は長びきます |
現在選択長びきますを返します。 |
SO_OOBINLINE |
BOOL |
帯域外のデータは、通常のデータ ストリームに表示されます。 |
SO_RCVBUF |
int |
バッファー サイズで表示されます。 |
SO_REUSEADDR |
BOOL |
ソケットは既に使用されているアドレスにバインドできます。 |
SO_SNDBUF |
int |
送信のバッファー サイズ。 |
SO_TYPE |
int |
ソケット (たとえば、) SOCK_STREAMの型。 |
TCP_NODELAY |
BOOL |
送信結合用の Nagle アルゴリズムを無効にします。 |
GetSockOpt でサポートされていない Berkeley Software Distribution (BSD) のオプションは次のとおりです:
値 |
型 |
説明 |
---|---|---|
SO_RCVLOWAT |
int |
干潮マークを受信します。 |
SO_RCVTIMEO |
int |
タイムアウトを受信します。 |
SO_SNDLOWAT |
int |
干潮マークを送信します。 |
SO_SNDTIMEO |
int |
タイムアウトを送信します。 |
IP_OPTIONS |
|
IP のヘッダー オプションを取得します。 |
TCP_MAXSEG |
int |
TCP に最適なセグメントのサイズを取得します。 |
サポートされていないオプションの GetSockOpt を呼び出すと、GetLastErrorから返される WSAENOPROTOOPT のエラー コードを生成します。
必要条件
Header: afxsock.h