Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public async Task<string> Send(byte[] messageToSend)
- {
- string responseMessage;
- using (TcpClient tcpClient = new TcpClient())
- {
- await tcpClient.ConnectAsync("127.0.0.1", 5000); // From config
- NetworkStream networkStream = tcpClient.GetStream();
- await networkStream.WriteAsync(messageToSend, 0, messageToSend.Length);
- await networkStream.FlushAsync();
- tcpClient.Client.Shutdown(SocketShutdown.Send); // shutdown gracefully
- byte[] responseBuffer = new byte[256]; // This can be of any size
- StringBuilder stringBuilder = new StringBuilder();
- int amountOfResponseBytes;
- do
- {
- amountOfResponseBytes = await networkStream.ReadAsync(responseBuffer, 0, responseBuffer.Length);
- string responseData = Encoding.ASCII.GetString(responseBuffer, 0, amountOfResponseBytes);
- stringBuilder.Append(responseData);
- } while (amountOfResponseBytes > 0);
- responseMessage = stringBuilder.ToString();
- }
- return responseMessage;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement