下面是一个监控UDP接收的线例子:
1
// 申明委托
2
public delegate void mydelegate();
3
// 添加调用控制的方法
4
public void outtext()
5
{
6 textBox1.Text = Read_str;
7
8 }
9
public void start_server()
10
{
11 while (true)
12 {
13 //接收从远程主机发送到本地8090端口的数据
14 byte[] recData = server.Receive(ref receivePoint);
15 ASCIIEncoding encode = new ASCIIEncoding();
16 //获得客户端请求数据
17 Read_str = encode.GetString(recData);
18 //提取客户端的信息,存放到定义为temp的字符串数组中
19 //string[] temp = Read_str.Split("/".ToCharArray());
20 //在线程中调用对象;
21 mydelegate mydelegate = new mydelegate( outtext );
22 //BeginInvoke/invoke(同步或异步) 方法来将调用封送到适当的线程
23 textBox1.BeginInvoke(mydelegate, new object[] { });
24
25 }
26 }
27
public void run()
28
{
29 //利用本地8080端口号来初始化一个UDP网络服务
30 server = new UdpClient(port);
31 receivePoint = new IPEndPoint(new IPAddress(ip), port);
32 //开一个线程
33 startServer = new Thread(new ThreadStart(start_server));
34 //启动线程
35 startServer.Start();
36
37 }
38
private void Form1_Load( object sender, EventArgs e)
39
{
40 //启动对时服务
41 run();
42
43 }
参考文章: http://msdn2.microsoft.com/zh-cn/library/757y83z4(VS.80).aspx