我试图在Windows窗体中创建一个UDP侦听器。我想听一个地址和端点,并希望在窗体上的文本框中显示收到的文本。我试图从不同的角度攻击这件事。C#中的UDP侦听器#
我的一个尝试是试图使用BackgroundWorker来允许侦听器代码保持运行,同时仍然在UI线程中进行控制。随着听者不停地收听,我想继续添加发送到多行文本框(使用Visual Studio 2010和C#)的ascii数据。我已经为表单添加了一个BackgroundWorker,所以我可以启动和停止侦听器。我可以接收来自发件人客户端的测试并将其显示在MessageBox中,但是无法使用相同文本更新表单上的文本框(这是我真正想要执行的操作)。
我试过的另一个角度是从堆栈溢出中使用调用BeginReceive方法和AsyncCallback的UdpClient的帖子尝试代码。在该示例中,回调使用传入的UdpClient调用EndReceive方法,获取数据,然后使用Console.WriteLine将其打印出来。我尝试了这个代码,尝试将接收到的文本添加到表单上的文本框中,但无济于事。有没有办法使用BackgroundWorker或UdpClient在窗体上的文本框中显示接收到的文本,还是应该使用单独的线程进行调查,或者使用其他方式进行调查。没有做过任何多线程程序,我在这方面有点新手。任何帮助,将不胜感激。谢谢。
有一些代码可以比描述代码的文本块更好。 – weston