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.