如下监听代码 运行时出现“通常每个套接字地址(协议/网络地址/端口)只允许使用一次”
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();
}

解决方案 »

  1.   

    同一个端口的socket只能new一个
      

  2.   

    希望具体一点异常出现在socket.Bind(iep);可是要监听需要bind   希望帮助解决一下。
      

  3.   

    IPAddress ServerIp=IPAddress.Parse("164.192.0.168;
    IPEndPoint iep=new IPEndPoint(ServerIp,80);
    ...
    socket.Bind(iep);
    socket.Listen(5);
    while(true)
    {
      try
      {
        socket.Accept();
    ...
      

  4.   

    IPAddress ServerIp=IPAddress.Parse("164.192.0.168");
    IPEndPoint iep=new IPEndPoint(ServerIp,80);
    ...
    socket.Bind(iep);
    socket.Listen(5);
    while(true)
    {
      try
      {
        socket.Accept();
    ...
      

  5.   

    songhtao(三十年孤独) 具体点