我一直在尝试学习如何使用Visual C#执行异步接收时遇到了一些麻烦。我有一个基于控制台的服务器程序,它接收来自客户端的数据,然后将其发回。我的问题是在客户端。它必须每100毫秒发送一次数据到服务器,然后再接收它。C#异步接收
问题在于让它回来,因为我不能让程序停止并等待数据。下面是它看起来像那么远,
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;
}
}
正如你所看到的,它现在正在发送“试验数据”。如果还有另一种方式来接收比异步更简单的数据,请让我知道,同时我想知道如何为未来的项目做到这一点。
感谢先进。
编辑:添加客户端对不起,我忘了
什么是'客户端'?你的代码不完整。 – Amy
TcpClient client = new TcpClient(); <---对不起,我遗漏了它 – Dusty