IPEndPoint ClientIP = (IPEndPoint)udpServer.RemoteEndPoint;
"不允許傳送或接收資料的要求,因為通訊端並未連線,而且 (在資料包通訊端使用 sendto 呼叫進行傳送時) 並未提供位址。"
的錯誤訊息.
請問如何解決

解决方案 »

  1.   

    IPEndPoint   aa=new   IPEndPoint(IPAddress.Any,0); 
    EndPoint   RemoteHost   =(EndPoint)aa; 
    Count   =   Udp.ReceiveFrom(Buffer,ref   RemoteHost); 
      

  2.   

    還是不行,原因一樣
     static void Main(string[] args)
      {
          Socket udpServer = new Socket(AddressFamily.InterNetwork,    SocketType.Dgram,ProtocolType.Udp);
          IPEndPoint server = new IPEndPoint(IPAddress.Any, 6000);      udpServer.Bind(server);      
          while (true)
          {
              byte[] buff = new byte[20];
              IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
              EndPoint senderRemote = (EndPoint)sender;
              udpServer.ReceiveFrom(buff, ref senderRemote);
              string s = Encoding.ASCII.GetString(buff, 0, buff.Length);
                MessageBox.Show(s + "\t\n" + IPAddress.Parse(((IPEndPoint)udpServer.RemoteEndPoint).Address.ToString()));
          }
      }
      

  3.   

    更改如下 
                while (true)
                {
                    byte[] buff = new byte[20];
                    IPEndPoint sender = new IPEndPoint(IPAddress.Any, 0);
                    EndPoint senderRemote = (EndPoint)sender;
                    int count=udpServer.ReceiveFrom(buff, ref senderRemote);
                    
                    MessageBox.Show(ToHexString(buff,count) + "\t\n" + senderRemote.ToString());
                }//-----職得ip senderRemote.ToString();