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);
去掉,让随机选端口,程序就运行正常,没有问题了。