private void button1_Click(object sender, System.EventArgs e)  //连接
        {
            
            try
            {
                myIP =IPAddress.Parse("192.168.0.22");    
                MyServer=new IPEndPoint(myIP,Int32.Parse(“8091”);
                sock =new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
                MyClient=new IPEndPoint(myIP,Int32.Parse(“3333”);
            sock.Bind(MyClient);
                sock.Connect(MyServer);                
                                         
            }
            catch(Exception ee){MessageBox.Show(ee.Message);}
        }
private void button2_Click(object sender, System.EventArgs e)   //关闭
        {
            if(sock!=null)
            {
                sock.Close();
                statusBarPanel1.Text"连接关闭!";
            }
            else
            {MessageBox.Show("连接尚未建立,断开无效!");}
        }
点button1可以连接,但是点button2断开连接后,再点button1就连接不上了,提示说每个套接字地址只能用一次。可是我用netstat -an 查看端口,状态是close-wait。不知道错在哪里
另外,如果把绑定端口的两句MyClient=new IPEndPoint(myIP,Int32.Parse(“3333”);
            sock.Bind(MyClient);
去掉,让随机选端口,程序就运行正常,没有问题了。



 
											





 
	    

 
	


