Advertisement
Guest User

Untitled

a guest
Oct 13th, 2020
509
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.24 KB | None | 0 0
  1.         public async Task<string> Send(byte[] messageToSend)
  2.         {
  3.             string responseMessage;
  4.  
  5.             using (TcpClient tcpClient = new TcpClient())
  6.             {
  7.                 await tcpClient.ConnectAsync("127.0.0.1", 5000); // From config
  8.  
  9.                 NetworkStream networkStream = tcpClient.GetStream();
  10.                 await networkStream.WriteAsync(messageToSend, 0, messageToSend.Length);
  11.                 await networkStream.FlushAsync();
  12.                 tcpClient.Client.Shutdown(SocketShutdown.Send); // shutdown gracefully
  13.  
  14.                 byte[] responseBuffer = new byte[256]; // This can be of any size
  15.                 StringBuilder stringBuilder = new StringBuilder();
  16.                 int amountOfResponseBytes;
  17.  
  18.                 do
  19.                 {
  20.                     amountOfResponseBytes = await networkStream.ReadAsync(responseBuffer, 0, responseBuffer.Length);
  21.                     string responseData = Encoding.ASCII.GetString(responseBuffer, 0, amountOfResponseBytes);
  22.                     stringBuilder.Append(responseData);
  23.                 } while (amountOfResponseBytes > 0);
  24.  
  25.                 responseMessage = stringBuilder.ToString();
  26.             }
  27.  
  28.             return responseMessage;
  29.         }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement