2010-12-02 7 views
1

que j'utilise dans UDPClient dans C#. J'appelle la fonction de réception, mais quand je cours l'application. le programme entre en boucle d'éternité. Pourquoi ce phénomène? Peut-être parce qu'aucune donnée n'était disponible sur ce port? Que puis-je faire?UDPClient dans C#

J'écrire le code suivant:

 UdpClient udpClient = new UdpClient(623); 
     try 
     { 
      udpClient.Connect("10.0.0.16", 623); 

      // Sends a message to the host to which you have connected. 
      Byte[] sendBytes = Encoding.ASCII.GetBytes("Is anybody there?"); 

      udpClient.Send(sendBytes, sendBytes.Length); 

      // Sends a message to a different host using optional hostname and port parameters. 
      UdpClient udpClientB = new UdpClient(); 
      udpClientB.Send(sendBytes, sendBytes.Length, "10.0.0.16", 623); 

      //IPEndPoint object will allow us to read datagrams sent from any source. 
      IPEndPoint RemoteIpEndPoint = new IPEndPoint(IPAddress.Any, 0); 

      // Blocks until a message returns on this socket from a remote host. 
      Byte[] receiveBytes = udpClient.Receive(ref RemoteIpEndPoint); 
      string returnData = Encoding.ASCII.GetString(receiveBytes); 

      // Uses the IPEndPoint object to determine which of these two hosts responded. 
      Console.WriteLine("This is the message you received " + 
             returnData.ToString()); 
      Console.WriteLine("This message was sent from " + 
             RemoteIpEndPoint.Address.ToString() + 
             " on their port number " + 
             RemoteIpEndPoint.Port.ToString()); 

      udpClient.Close(); 
      udpClientB.Close(); 

     } 
     catch (Exception e) 
     { 
      Console.WriteLine(e.ToString()); 
     } 

grâce

+0

Tout votre code R appartiennent à nous! – jgauffin

+0

pouvez-vous expliquer ce que vous voulez dire? – RRR

+0

@Daniel, Si vous divisez par zéro, vous pouvez atteindre l'infini .. – jlafay

Répondre