TIdUDPClient sendet nicht



  • IdUDPClient1->Host = "127.0.0.1";
    IdUDPClient1->Port = 12345;
    IdUDPClient1->Active = true;
    IdUDPClient1->Send("test");
    

    Leider wird hier nichts gesendet. In Wireshark wird auch nichts angezeigt.

    Jemand eine Idee?



  • Eventuell funkt die Firewall dazwischen. Probier auch mal die IP-Adresse deines Interfaces und nicht localhost.



  • Wie stellst Du denn fest ob nichts gesendet wird?
    Wireshark kann definitiv kein localhost sniffen.
    Wirkliche alternativen gibt es im Windowsumfeld (meines Wissens nach) nicht.

    MfG Stephan



  • Ich habe auch schon meine Netzwerk-IP und meine öffentliche IP versucht, das ändert aber nichts.
    Meine Firewall blockiert es auch nicht.



  • Da ich per UDP auch empfangen will, benutze ich dafür die TIdUDPServer Komponente, damit hat es einwandfrei gefunzt. Hier mal ein kleines Beispiel:

    //---------------------------------------------------------------------------
    __fastcall TForm2::TForm2(TComponent* Owner)
    	: TForm(Owner)
    {
      IdUDPServer1->DefaultPort = 4444;
      IdUDPServer1->Active = true;
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm2::btn1Click(TObject *Sender)
    {
     //Etwas senden:
    
     IdUDPServer1->Binding->SendTo(m_RemoteIP,m_RemotePort,"Button");
    }
    //---------------------------------------------------------------------------
    void __fastcall TForm2::IdUDPServer1UDPRead(TIdUDPListenerThread *AThread, const TIdBytes AData,
    					TIdSocketHandle *ABinding)
    {
    
      m_RemoteIP = ABinding->PeerIP;        //IP Adresse des Senders
      m_RemotePort = ABinding->PeerPort;    //Port Nummer des Sender
      AnsiString s =  BytesToString(AData);
      Label1->Text = s;
    
      ABinding->SendTo(ABinding->PeerIP,ABinding->PeerPort,"Kuckuck");
      btn1->Enabled = true;
    }
    //---------------------------------------------------------------------------
    


  • Interessant, wenn ich ebenfalls einen Server anstatt eines Clienten benutze, funktioniert es.
    Danke. 🙂


Anmelden zum Antworten