Мне нужно получить несколько советов, какой метод лучше для создания асинхронного соединения tcpClient. Мое приложение открывает tcpClient, пишет сообщение и ждет, чтобы прочитать ответ. Метод 1: я создал асинхронную задачу для всех функций tcpClient.
await Task.Run(() =>
{
using (var client = new TcpClient(terminalIP, terminalPort))
using (var stream = client.GetStream())
{
var message = "my message";
var data = Encoding.ASCII.GetBytes(string.Format(message);
stream.Write(data, 0, data.Length);
var readingByte = new byte[256];
var sessionBytesRead = stream.Read(readingByte, 0, readingByte.Length);
var sessionTxt = Encoding.ASCII.GetString(readingByte, 0, sessionBytesRead);
}
});
Метод 2, я использую асинхронность только для открытия, записи и чтения
using (var client = new TcpClient())
{
await client.ConnectAsync(terminalIP, terminalPort);
using (var stream = client.GetStream())
{
var message = "my message";
var data = Encoding.ASCII.GetBytes(message);
await stream.WriteAsync(data, 0, data.Length);
var readingByte = new byte[256];
var sessionBytesRead = await stream.ReadAsync(readingByte, 0, readingByte.Length);
var sessionTxt = Encoding.ASCII.GetString(readingByte, 0, sessionBytesRead);
}
}
Какой метод лучше и почему? Также, если есть какой-либо другой более эффективный способ, пожалуйста, дайте мне знать.