新手关于 "未将对象引用设置到对象的实例" 的问题求教
别人的程序,需要简单修改下,发现出现这个问题,关闭程序时会出现“未将对象引用设置到对象的实例”,以下是有关源码和调试说明。
namespace sincgars
{
public partial class Form1 : Form
{
...
public UdpClient listener1, listener2;//创建UDPclient监听
...
}
}
public Form1(int TYPE,string S)
{
...
thread1 = new Thread(new ThreadStart(messageListening1));
thread1.Start();
thread2 = new Thread(new ThreadStart(messageListening2));
thread2.Start();//开启线程
...
}
private void messageListening1()//监听数据
{
int port = 8001;//设置端口号
listener1 = new UdpClient(port);//创建一个UDPClient监听8001端口号
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, port);
while (true)
{
byte[] data = new byte[1024];
data = listener1.Receive(ref ipep);//接收数据
...
}
}
private void messageListening2()//监听数据
{
int port = 8002;//设置端口号
listener1 = new UdpClient(port);//创建一个UDPClient监听8002端口号
IPEndPoint ipep = new IPEndPoint(IPAddress.Any, port);
while (true)
{
byte[] data = new byte[1024];
data = listener2.Receive(ref ipep);//接收数据
...
}
}
private void Form1_FormClosing(object sender, FormClosingEventArgs e)//窗口关闭时触发的事件
{
thread1.Abort();
listener1.Close();//未将对象引用设置到对象的实例
thread2.Abort();
listener2.Close();//未将对象引用设置到对象的实例
}
listener1/listener2在调用CLose前自动窗口显示的属性
listener1 {System.Net.Sockets.UdpClient} System.Net.Sockets.UdpClient
listener2 {System.Net.Sockets.UdpClient} System.Net.Sockets.UdpClient
active:false
available:0x00000000
.netframwork 是2.0的版本