Async TCP Client C# with Example



Async TCP Client C# with Example

Using async/await in C# applications simplifies multi-threading. This is how you can use async/await in 
conjunction with a TcpClient. 
// Declare Variables 
string host = "stackoverflow.com"; 
int port = 9999; 
int timeout = 5000; 
// Create TCP client and connect 
// Then get the netstream and pass it 
// To our StreamWriter and StreamReader 
using (var client = new TcpClient()) 
using (var netstream = client.GetStream()) 
using (var writer = new StreamWriter(netstream)) 
using (var reader = new StreamReader(netstream)) 
{ 
// Asynchronsly attempt to connect to server 
await client.ConnectAsync(host, port); 
// AutoFlush the StreamWriter 
// so we don't go over the buffer 
writer.AutoFlush = true; 
// Optionally set a timeout 
netstream.ReadTimeout = timeout; 
// Write a message over the TCP Connection 
string message = "Hello World!"; 
await writer.WriteLineAsync(message); 
// Read server response 
string response = await reader.ReadLineAsync(); 
Console.WriteLine(string.Format($"Server: {response}")); 
} 
// The client and stream will close as control exits 
// the using block (Equivilent but safer than calling Close(); 
 

0 Comment's

Comment Form