次の方法で共有


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_SOCKETIPPROTO_TCPです。

戻り値

関数が正常に終了した場合は、; は 0 と特定のエラー コードは GetLastErrorを呼び出して取得できます。SetSockOptと、オプションが設定されていない場合は、GetSockOpt は、オプションの既定値を返します。このエラーは、次のメンバー関数に適用されます:

  • WSANOTINITIALISED は正常に AfxSocketInit は、この API を使用する前に行う必要があります。

  • WSAENETDOWN は、Windows ソケット実装ネットワークのサブシステムが失敗したことを検出しました。

  • WSAEFAULTlpOptionLen の引数は無効です。

  • WSAEINPROGRESS A のブロックの Windows ソケット処理は進行中です。

  • WSAENOPROTOOPT オプションは、未知またはサポートされていません。特に、SO_BROADCAST は、型 SOCK_STREAMソケットで SO_ACCEPTCONNSO_DONTLINGERSO_KEEPALIVESO_LINGERSO_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

参照

関連項目

CAsyncSocket クラス

階層図

CAsyncSocket::SetSockOpt