下面是一个监控UDP接收的线例子:


 1 C# 从线程中操作控件_server        

// 申明委托

 2 C# 从线程中操作控件_server

         public   delegate   void  mydelegate();

 3 C# 从线程中操作控件_server        

// 添加调用控制的方法

 4 C# 从线程中操作控件_server

         public   void  outtext() 

 5 C# 从线程中操作控件_byte_05C# 从线程中操作控件_textbox_06        

C# 从线程中操作控件_byte_07

{

 6C# 从线程中操作控件_server_08            textBox1.Text = Read_str;

 7C# 从线程中操作控件_server_08       

 8C# 从线程中操作控件_server_10        }


 9 C# 从线程中操作控件_server        

public   void  start_server()

10 C# 从线程中操作控件_byte_05C# 从线程中操作控件_textbox_06        

C# 从线程中操作控件_byte_07

{

11C# 从线程中操作控件_server_08            while (true)

12C# 从线程中操作控件_c#_16C# 从线程中操作控件_c#_17            C# 从线程中操作控件_byte_07{

13C# 从线程中操作控件_server_08                //接收从远程主机发送到本地8090端口的数据

14C# 从线程中操作控件_server_08                byte[] recData = server.Receive(ref receivePoint);

15C# 从线程中操作控件_server_08                ASCIIEncoding encode = new ASCIIEncoding();

16C# 从线程中操作控件_server_08                //获得客户端请求数据

17C# 从线程中操作控件_server_08                Read_str = encode.GetString(recData);

18C# 从线程中操作控件_server_08                //提取客户端的信息,存放到定义为temp的字符串数组中

19C# 从线程中操作控件_server_08                //string[] temp = Read_str.Split("/".ToCharArray());

20C# 从线程中操作控件_server_08                //在线程中调用对象;

21C# 从线程中操作控件_server_08                mydelegate mydelegate = new mydelegate( outtext );

22C# 从线程中操作控件_server_08                //BeginInvoke/invoke(同步或异步) 方法来将调用封送到适当的线程

23C# 从线程中操作控件_c#_16C# 从线程中操作控件_c#_17                textBox1.BeginInvoke(mydelegate, new object[] C# 从线程中操作控件_byte_07{ });

24C# 从线程中操作控件_server_08 

25C# 从线程中操作控件_网络_33            }

26C# 从线程中操作控件_server_10        }


27 C# 从线程中操作控件_server        

public   void  run()

28 C# 从线程中操作控件_byte_05C# 从线程中操作控件_textbox_06        

C# 从线程中操作控件_byte_07

{

29C# 从线程中操作控件_server_08            //利用本地8080端口号来初始化一个UDP网络服务

30C# 从线程中操作控件_server_08            server = new UdpClient(port);

31C# 从线程中操作控件_server_08            receivePoint = new IPEndPoint(new IPAddress(ip), port);

32C# 从线程中操作控件_server_08            //开一个线程

33C# 从线程中操作控件_server_08            startServer = new Thread(new ThreadStart(start_server));

34C# 从线程中操作控件_server_08            //启动线程

35C# 从线程中操作控件_server_08            startServer.Start();

36C# 从线程中操作控件_server_08            

37C# 从线程中操作控件_server_10        }


38 C# 从线程中操作控件_server        

private   void  Form1_Load( object  sender, EventArgs e)

39 C# 从线程中操作控件_byte_05C# 从线程中操作控件_textbox_06        

C# 从线程中操作控件_byte_07

{

40C# 从线程中操作控件_server_08            //启动对时服务

41C# 从线程中操作控件_server_08            run();

42C# 从线程中操作控件_server_08            

43C# 从线程中操作控件_server_10        }


参考文章: ​​http://msdn2.microsoft.com/zh-cn/library/757y83z4(VS.80).aspx​