В последнее время у меня были некоторые проблемы, когда я пытался научиться делать асинхронный прием с использованием Visual C #.У меня есть консольная серверная программа, которая получает данные от клиента и затем отправляет их обратно.Моя проблема на стороне клиента.Он должен отправлять данные на сервер каждые 100 или около того миллисекунд, а затем получать их обратно.
Проблема в том, что они возвращаются, потому что я не могу остановить программу и ждать данных.Вот как это выглядит до сих пор ...
IPEndPoint serverEndPoint = new IPEndPoint(IPAddress.Parse("127.0.0.1"), 16487);
TcpClient client = new TcpClient();
bool blnOnOFF;
private void SendServerData()
{
string strData = "TEST DATA";
NetworkStream clientStream = client.GetStream();
ASCIIEncoding encoder = new ASCIIEncoding();
byte[] buffer = encoder.GetBytes(strData);
clientStream.Write(buffer, 0, buffer.Length);
clientStream.Flush();
}
// Ticks Every 100ms
private void tmrDataTransfer_Tick(object sender, EventArgs e)
{
SendServerData();
}
private void btnStart(object sender, EventArgs e)
{
if (blnOnOFF == false)
{
tmrDataTransfer.Start();
blnOnOFF = true;
}
else
{
tmrDataTransfer.Stop();
blnOnOFF = false;
}
}
Как видите, все, что он сейчас делает, это отправляет "ТЕСТОВЫЕ ДАННЫЕ".Если есть другой способ получения данных, который проще, чем асинхронный, пожалуйста, дайте мне знать, также я хотел бы узнать, как это сделать для будущих проектов.
, спасибо, дополнительно.: добавлен клиент извините я забыл об этом