我有如下代码:
private void accept2()
        {
            Thread.CurrentThread.IsBackground = true;
            IPAddress ip2 = IPAddress.Parse("192.168.0.106");
            listener = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
            locEP = new IPEndPoint(ip2, 20100);
            listener.Bind(locEP);
            listener.Listen(100);
            while (true)
            {                Socket accept = listener.Accept();
                receive1 = new Thread(new ParameterizedThreadStart(receive2));
                receive1.Start(accept);
            }
        }
        private void receive2(object obj)
        {
            Thread.CurrentThread.IsBackground = true;
            Socket socket = (Socket)obj;
            byte[] buffer = new byte[40960];
            int res = socket.Receive(buffer);
            string jishou = Encoding.UTF8.GetString(buffer, 0, res);
            IPEndPoint remoEP = (IPEndPoint)socket.RemoteEndPoint;
            string[] ServerInfo = jishou.Split(',');
}
在Form Load事件中,我用以下代码打开这个套接字:
accept = new Thread(new ThreadStart(accept2));
            accept.Start();
现在我要在该窗体消失的时候把它关闭了,然后再下一个窗体中如果要用到该套接字时候再重新打开.如果在这里不关闭,在下一个窗口中使用的时候会提示"一个套接字只能使用一次",所以我要把它们关闭,请问要怎么弄啊?