如下监听代码 运行时出现“通常每个套接字地址(协议/网络地址/端口)只允许使用一次”
try
{
IPAddress ServerIp=System.Net.Dns.Resolve(164.192.0.168).AddressList[0];
IPEndPoint iep=new IPEndPoint(ServerIp,int.Parse(80));
socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
byte[] byteMessage=new byte[100];
this.lTemp.Text=iep.ToString();
socket.Bind(iep);
while(true)
{
try { socket.Listen(5); Socket newSocket=socket.Accept(); newSocket.Receive(byteMessage);
string sTime = DateTime.Now.ToShortTimeString ( ) ;
string msg=sTime+":"+"Message from:";
msg+=newSocket.RemoteEndPoint.ToString()+Encoding.Default.GetString(byteMessage);
this.listBox1.Items.Add(msg);
}
catch(SocketException ex)
{
this.lTemp.Text+=ex.ToString();
}
}
}
catch(System.ArgumentNullException E)
{
MessageBox.Show(E.Message);
}
catch(System.Net.Sockets.SocketException E)
{
MessageBox.Show(E.Message,"完成",MessageBoxButtons.OK,MessageBoxIcon.Stop);
}
catch( System.Exception E)
{
MessageBox.Show(E.Message,"完成",MessageBoxButtons.OK,MessageBoxIcon.Stop);
}
finally
{
socket.Close();
}
try
{
IPAddress ServerIp=System.Net.Dns.Resolve(164.192.0.168).AddressList[0];
IPEndPoint iep=new IPEndPoint(ServerIp,int.Parse(80));
socket=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);
byte[] byteMessage=new byte[100];
this.lTemp.Text=iep.ToString();
socket.Bind(iep);
while(true)
{
try { socket.Listen(5); Socket newSocket=socket.Accept(); newSocket.Receive(byteMessage);
string sTime = DateTime.Now.ToShortTimeString ( ) ;
string msg=sTime+":"+"Message from:";
msg+=newSocket.RemoteEndPoint.ToString()+Encoding.Default.GetString(byteMessage);
this.listBox1.Items.Add(msg);
}
catch(SocketException ex)
{
this.lTemp.Text+=ex.ToString();
}
}
}
catch(System.ArgumentNullException E)
{
MessageBox.Show(E.Message);
}
catch(System.Net.Sockets.SocketException E)
{
MessageBox.Show(E.Message,"完成",MessageBoxButtons.OK,MessageBoxIcon.Stop);
}
catch( System.Exception E)
{
MessageBox.Show(E.Message,"完成",MessageBoxButtons.OK,MessageBoxIcon.Stop);
}
finally
{
socket.Close();
}
IPEndPoint iep=new IPEndPoint(ServerIp,80);
...
socket.Bind(iep);
socket.Listen(5);
while(true)
{
try
{
socket.Accept();
...
IPEndPoint iep=new IPEndPoint(ServerIp,80);
...
socket.Bind(iep);
socket.Listen(5);
while(true)
{
try
{
socket.Accept();
...