次の方法で共有


Socket.GetSocketOption メソッド

Socket オプションの値を返します。

オーバーロードの一覧

指定した Socket オプションの値をオブジェクトとして返します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Function GetSocketOption(SocketOptionLevel, SocketOptionName) As Object

[C#] public object GetSocketOption(SocketOptionLevel, SocketOptionName);

[C++] public: Object* GetSocketOption(SocketOptionLevel, SocketOptionName);

[JScript] public function GetSocketOption(SocketOptionLevel, SocketOptionName) : Object;

指定した Socket オプション設定をバイト配列として返します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Sub GetSocketOption(SocketOptionLevel, SocketOptionName, Byte())

[C#] public void GetSocketOption(SocketOptionLevel, SocketOptionName, byte[]);

[C++] public: void GetSocketOption(SocketOptionLevel, SocketOptionName, unsigned char __gc[]);

[JScript] public function GetSocketOption(SocketOptionLevel, SocketOptionName, Byte[]);

指定した Socket オプションの値を配列で返します。

.NET Compact Framework でもサポート。

[Visual Basic] Overloads Public Function GetSocketOption(SocketOptionLevel, SocketOptionName, Integer) As Byte()

[C#] public byte[] GetSocketOption(SocketOptionLevel, SocketOptionName, int);

[C++] public: unsigned char GetSocketOption(SocketOptionLevel, SocketOptionName, int) __gc[];

[JScript] public function GetSocketOption(SocketOptionLevel, SocketOptionName, int) : Byte[];

使用例

[Visual Basic, C#, C++] LingerOption タイムアウト値と Send タイムアウト値を取得し、コンソールに表示する例を次に示します。

[Visual Basic, C#, C++] メモ   ここでは、GetSocketOption のオーバーロード形式のうちの 1 つだけについて、使用例を示します。その他の例については、各オーバーロード形式のトピックを参照してください。

 
Console.WriteLine(("This application will timeout if Send does not return within " + Encoding.ASCII.GetString(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4))))
' blocks until send returns
Dim i As Integer = s.Send(msg)

' blocks until read returns
Dim bytes(1024) As Byte
s.Receive(bytes)

'Display to the screen
Console.WriteLine(Encoding.ASCII.GetString(bytes))
s.Shutdown(SocketShutdown.Both)

Console.WriteLine(("If data remains to be sent, this application will stay open for " + CType(s.GetSocketOption(SocketOptionLevel.Socket, SocketOptionName.Linger), LingerOption).LingerTime.ToString()))
s.Close()
    End Sub 'SetSocketOptions

[C#] 
Console.WriteLine ("This application will timeout if Send does not return within " + Encoding.ASCII.GetString (s.GetSocketOption (SocketOptionLevel.Socket, SocketOptionName.SendTimeout, 4)));

// blocks until send returns
int i = s.Send (msg);

// blocks until read returns
byte[] bytes = new byte[1024];

s.Receive (bytes);

//Display to the screen
Console.WriteLine (Encoding.ASCII.GetString (bytes));
s.Shutdown (SocketShutdown.Both);
Console.WriteLine ("If data remains to be sent, this application will stay open for " + ((LingerOption)s.GetSocketOption (SocketOptionLevel.Socket, SocketOptionName.Linger)).LingerTime.ToString ());
s.Close ();

[C++] 
Console::Write("This application will timeout if Send does not return within ");
Console::WriteLine(Encoding::ASCII->GetString(s->GetSocketOption(SocketOptionLevel::Socket, 
    SocketOptionName::SendTimeout, 4)));
// Blocks until send returns.
int i = s->Send(msg);

// Blocks until read returns.
Byte bytes[] = new Byte[1024];
s->Receive(bytes);

//Displays to the screen.
Console::WriteLine(Encoding::ASCII->GetString(bytes));
s->Shutdown(SocketShutdown::Both);

Console::Write("If data remains to be sent, this application will stay open for ");
Console::WriteLine(__box(__try_cast<LingerOption *> (s->GetSocketOption(SocketOptionLevel::Socket, 
    SocketOptionName::Linger))->LingerTime)->ToString());
s->Close();

[JScript] JScript のサンプルはありません。Visual Basic、C#、および C++ のサンプルを表示するには、このページの左上隅にある言語のフィルタ ボタン 言語のフィルタ をクリックします。

参照

Socket クラス | Socket メンバ | System.Net.Sockets 名前空間