TcpListener.Stop メソッド
アセンブリ: System (system.dll 内)



Stop は、リスナを閉じます。キュー内で受け取られなかった接続要求はすべて失われます。接続の受け取りを待機していたリモート ホストは、SocketException をスローします。受け取った接続は、1 つずつ終了させる必要があります。
![]() |
---|
このメンバは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。詳細については、「ネットワークのトレース」を参照してください。 |

Stop メソッドを使用して、基になる Socket を閉じるコード例を次に示します。
Imports System Imports System.IO Imports System.Net Imports System.Net.Sockets Imports System.Text Imports Microsoft.VisualBasic Class MyTcpListener Public Shared Sub Main() Dim server As TcpListener server=nothing Try ' Set the TcpListener on port 13000. Dim port As Int32 = 13000 Dim localAddr As IPAddress = IPAddress.Parse("127.0.0.1") server = New TcpListener(localAddr, port) ' Start listening for client requests. server.Start() ' Buffer for reading data Dim bytes(1024) As Byte Dim data As String = Nothing ' Enter the listening loop. While True Console.Write("Waiting for a connection... ") ' Perform a blocking call to accept requests. ' You could also user server.AcceptSocket() here. Dim client As TcpClient = server.AcceptTcpClient() Console.WriteLine("Connected!") data = Nothing ' Get a stream object for reading and writing Dim stream As NetworkStream = client.GetStream() Dim i As Int32 ' Loop to receive all the data sent by the client. i = stream.Read(bytes, 0, bytes.Length) While (i <> 0) ' Translate data bytes to a ASCII string. data = System.Text.Encoding.ASCII.GetString(bytes, 0, i) Console.WriteLine("Received: {0}", data) ' Process the data sent by the client. data = data.ToUpper() Dim msg As Byte() = System.Text.Encoding.ASCII.GetBytes(data) ' Send back a response. stream.Write(msg, 0, msg.Length) Console.WriteLine("Sent: {0}", data) i = stream.Read(bytes, 0, bytes.Length) End While ' Shutdown and end connection client.Close() End While Catch e As SocketException Console.WriteLine("SocketException: {0}", e) Finally server.Stop() End Try Console.WriteLine(ControlChars.Cr + "Hit enter to continue....") Console.Read() End Sub 'Main End Class 'MyTcpListener
using System; using System.IO; using System.Net; using System.Net.Sockets; using System.Text; class MyTcpListener { public static void Main() { TcpListener server=null; try { // Set the TcpListener on port 13000. Int32 port = 13000; IPAddress localAddr = IPAddress.Parse("127.0.0.1"); // TcpListener server = new TcpListener(port); server = new TcpListener(localAddr, port); // Start listening for client requests. server.Start(); // Buffer for reading data Byte[] bytes = new Byte[256]; String data = null; // Enter the listening loop. while(true) { Console.Write("Waiting for a connection... "); // Perform a blocking call to accept requests. // You could also user server.AcceptSocket() here. TcpClient client = server.AcceptTcpClient(); Console.WriteLine("Connected!"); data = null; // Get a stream object for reading and writing NetworkStream stream = client.GetStream(); int i; // Loop to receive all the data sent by the client. while((i = stream.Read(bytes, 0, bytes.Length))!=0) { // Translate data bytes to a ASCII string. data = System.Text.Encoding.ASCII.GetString(bytes, 0, i); Console.WriteLine("Received: {0}", data); // Process the data sent by the client. data = data.ToUpper(); byte[] msg = System.Text.Encoding.ASCII.GetBytes(data); // Send back a response. stream.Write(msg, 0, msg.Length); Console.WriteLine("Sent: {0}", data); } // Shutdown and end connection client.Close(); } } catch(SocketException e) { Console.WriteLine("SocketException: {0}", e); } finally { // Stop listening for new clients. server.Stop(); } Console.WriteLine("\nHit enter to continue..."); Console.Read(); } }
#using <System.dll> using namespace System; using namespace System::IO; using namespace System::Net; using namespace System::Net::Sockets; using namespace System::Text; using namespace System::Threading; void main() { try { // Set the TcpListener on port 13000. Int32 port = 13000; IPAddress^ localAddr = IPAddress::Parse( "127.0.0.1" ); // TcpListener* server = new TcpListener(port); TcpListener^ server = gcnew TcpListener( localAddr,port ); // Start listening for client requests. server->Start(); // Buffer for reading data array<Byte>^bytes = gcnew array<Byte>(256); String^ data = nullptr; // Enter the listening loop. while ( true ) { Console::Write( "Waiting for a connection... " ); // Perform a blocking call to accept requests. // You could also user server.AcceptSocket() here. TcpClient^ client = server->AcceptTcpClient(); Console::WriteLine( "Connected!" ); data = nullptr; // Get a stream Object* for reading and writing NetworkStream^ stream = client->GetStream(); Int32 i; // Loop to receive all the data sent by the client. while ( i = stream->Read( bytes, 0, bytes->Length ) ) { // Translate data bytes to a ASCII String*. data = Text::Encoding::ASCII->GetString( bytes, 0, i ); Console::WriteLine( "Received: {0}", data ); // Process the data sent by the client. data = data->ToUpper(); array<Byte>^msg = Text::Encoding::ASCII->GetBytes( data ); // Send back a response. stream->Write( msg, 0, msg->Length ); Console::WriteLine( "Sent: {0}", data ); } // Shutdown and end connection client->Close(); } } catch ( SocketException^ e ) { Console::WriteLine( "SocketException: {0}", e ); } Console::WriteLine( "\nHit enter to continue..." ); Console::Read(); }

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition
開発プラットフォームの中には、.NET Framework によってサポートされていないバージョンがあります。サポートされているバージョンについては、「システム要件」を参照してください。


Weblioに収録されているすべての辞書からTcpListener.Stop メソッドを検索する場合は、下記のリンクをクリックしてください。

- TcpListener.Stop メソッドのページへのリンク