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

Dim instance As TcpListener Dim returnValue As TcpClient returnValue = instance.AcceptTcpClient
データの送受信に使用する TcpClient。


AcceptTcpClient は、データの送受信に使用できる TcpClient を返すブロッキング メソッドです。ブロックしないようにする場合は、Pending メソッドを使用して、接続要求が受信接続キュー内で使用可能かどうかを確認します。
TcpClient.GetStream メソッドを使用して、返される TcpClient の基になる NetworkStream を取得します。NetworkStream は、リモート ホストを使用して送受信を行うためのメソッドを提供します。TcpClient の使用を終了したら、必ず Close メソッドを呼び出してください。TcpClient よりも柔軟性が必要な場合は、AcceptSocket を使用します。
![]() |
---|
このメンバは、アプリケーションでネットワーク トレースが有効にされている場合にトレース情報を出力します。詳細については、「ネットワークのトレース」を参照してください。 |

AcceptTcpClient メソッドを使用して、TcpClient を返すコード例を次に示します。この TcpClient は、新しく接続したクライアントとの通信に使用します。
' The following function creates a TcpServer that connects to ' the specified port (13000). ' Refer to the related client in the TcpClient class. Public Shared Sub Main() Try ' Set the TcpListener on port 13000. Dim port As Int32 = 13000 Dim server As New TcpListener(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([String].Format("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([String].Format("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) End Try Console.WriteLine(ControlChars.Cr + "Hit enter to continue...") Console.Read() End Sub 'Main
// Create a socket and connect with a remote host. IPHostEntry myIpHostEntry = Dns.Resolve("www.contoso.com"); IPEndPoint myIpEndPoint = new IPEndPoint(myIpHostEntry.AddressList[0], 1001); Socket mySocket = new Socket(myIpEndPoint.Address.AddressFamily , SocketType.Stream, ProtocolType.Tcp); try{ mySocket.Connect(myIpEndPoint); // Create the NetworkStream for communicating with the remote host. NetworkStream myNetworkStream; if (networkStreamOwnsSocket){ myNetworkStream = new NetworkStream(mySocket, true); } else{ myNetworkStream = new NetworkStream(mySocket); } // Check to see if this NetworkStream is writable. if (myNetworkStream.CanWrite){ byte[] myWriteBuffer = Encoding.ASCII.GetBytes("Are you receiving this message?"); myNetworkStream.Write(myWriteBuffer, 0, myWriteBuffer.Length); } else{ Console.WriteLine("Sorry. You cannot write to this NetworkStream."); } // Check to see if this NetworkStream is readable. if(myNetworkStream.CanRead){ byte[] myReadBuffer = new byte[1024]; StringBuilder myCompleteMessage = new StringBuilder(); int numberOfBytesRead = 0; // Incoming message may be larger than the buffer size. do{ numberOfBytesRead = myNetworkStream.Read(myReadBuffer, 0, myReadBuffer.Length); myCompleteMessage.AppendFormat("{0}", Encoding.ASCII.GetString(myReadBuffer, 0, numberOfBytesRead)); } while(myNetworkStream.DataAvailable); // Print out the received message to the console. Console.WriteLine("You received the following message : " + myCompleteMessage); } else{ Console.WriteLine("Sorry. You cannot read from this NetworkStream."); } // Close the NetworkStream myNetworkStream.Close(); } catch (Exception exception){ Console.WriteLine("Exception Thrown: " + exception.ToString()); } }
/** * The following function creates a TcpServer that connects to * the specified port (13000).Any TcpClient that wants to use this server * has to explicitly connect to an address obtained by the combination of * the sever on which this TCpServer is runnig and the port 13000. * This TcpServer simply echoes back the message sent by the TcpClient, after * translating it into uppercase. * Refer to the related client in the TcpClient class. **/ int main() { try { // Set the TcpListener on port 13000. Int32 port = 13000; TcpListener^ server = gcnew TcpListener( 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 )) != 0 ) { // Translate data bytes to a ASCII string. data = System::Text::Encoding::ASCII->GetString( bytes, 0, i ); Console::WriteLine( String::Format( "Received: {0}", data ) ); // Process the data sent by the client. data = data->ToUpper(); array<Byte>^msg = System::Text::Encoding::ASCII->GetBytes( data ); // Send back a response. stream->Write( msg, 0, msg->Length ); Console::WriteLine( String::Format( "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(); }
/** * The following function creates a TcpServer that connects to * the specified port (13000).Any TcpClient that wants to use this server * has to explicitly connect to an address obtained by the combination of * the sever on which this TCpServer is runnig and the port 13000. * This TcpServer simply echoes back the message sent by the TcpClient, * after translating it into uppercase. * Refer to the related client in the TcpClient class. */ public static void main(String[] args) { try { // Set the TcpListener on port 13000. int port = 13000; TcpListener server = new TcpListener(port); // Start listening for client requests. server.Start(); // Buffer for reading data ubyte bytes[] = new ubyte[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.get_ASCII().GetString( bytes, 0, i); Console.WriteLine(String.Format("Received: {0}", data)); // Process the data sent by the client. data = data.ToUpper(); ubyte msg[] = System.Text.Encoding.get_ASCII().GetBytes( data); // Send back a response. stream.Write(msg, 0, msg.length); Console.WriteLine(String.Format("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(); } //main

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.AcceptTcpClient メソッドを検索する場合は、下記のリンクをクリックしてください。

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