Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   UDP Empfang mit Indy UDP Server funktioniert nur wenn WireShark aktiv ist (https://www.delphipraxis.net/157059-udp-empfang-mit-indy-udp-server-funktioniert-nur-wenn-wireshark-aktiv-ist.html)

hedie 27. Dez 2010 13:14

UDP Empfang mit Indy UDP Server funktioniert nur wenn WireShark aktiv ist
 
Hallo zusammen...

Ich versuche ein UDP Packet mit meiner Delphi Anwendung zu empfangen.

Dazu habe ich den IdUDPServer
Dieses lauscht auf IP 0.0.0.0 und dem Port 85

Wenn ich nun ein entsprechendes Paket versende, wird die OnRead Funktion des Servers nie aufgerufen.
Läuft parallel auf dem selben Computer jedoch WireShark welcher nach allen Paketen lauscht, wird onRead plötzlich aufgerufen.

Woran könnte dies liegen?

Vielen Dank schonmal

Klaus01 27. Dez 2010 16:14

AW: UDP Empfang mit Indy UDP Server funktioniert nur wenn WireShark aktiv ist
 
Hallo,

kann es sein, dass auf dem Rechner eine Firewall läuft?
(Warum Wireshark die umgehen kann? ev. promiscuous mode?)

Grüße
Klaus

hedie 27. Dez 2010 19:44

AW: UDP Empfang mit Indy UDP Server funktioniert nur wenn WireShark aktiv ist
 
Vielen Dank für deine Antwort...

Auf dem Computer läuft definitiv keine Firewall...

Leider... Sonst wäre das problem ja gelöst gewesen :)

Kann ich meine Anwendung auch in diesen Modus setzen?

Klaus01 27. Dez 2010 19:51

AW: UDP Empfang mit Indy UDP Server funktioniert nur wenn WireShark aktiv ist
 
Zitat:

Zitat von hedie (Beitrag 1070677)
Kann ich meine Anwendung auch in diesen Modus setzen?

.. nicht das ich wüsste.

Ist aber schon ein sehr merkwürdiges Problem.

Nachtrag: Was passiert wenn du einen anderen Port > 1023 versuchst?

Grüße
Klaus

rollstuhlfahrer 27. Dez 2010 20:03

AW: UDP Empfang mit Indy UDP Server funktioniert nur wenn WireShark aktiv ist
 
keine Firewall? - normalerweise läuft die Windows-Firewall in den allermeisten Fällen im Hintergrund.

Bernhard

ADD: IMHO sollte es keinen Unterschied machen, ob der Port jetzt < oder > 1024 ist. Das spielt nur bei Unix-Systemen eine Rolle, ob man Admin sein muss oder nicht. Unter Windows darf selbst das Konto "GAST" einen Server starten, der auf Port 80 lauscht. HTTPS-Server sollten auch kein Problem sein (Port 443).

ADD2: Ich hatte auch mal den Fall, dass UDP-Pakete nicht ankamen. Die hat die Firewall freundlicherweise aus Sicherheitsgründen für mich blockiert (IP: 127.0.0.1)

hedie 27. Dez 2010 20:14

AW: UDP Empfang mit Indy UDP Server funktioniert nur wenn WireShark aktiv ist
 
Zitat:

Zitat von Klaus01 (Beitrag 1070681)
Zitat:

Zitat von hedie (Beitrag 1070677)
Kann ich meine Anwendung auch in diesen Modus setzen?

.. nicht das ich wüsste.

Ist aber schon ein sehr merkwürdiges Problem.

Nachtrag: Was passiert wenn du einen anderen Port > 1023 versuchst?

Grüße
Klaus

Bei einem anderen Port grösser als 1023 besteht das selbe Problem...

Zitat:

Zitat von rollstuhlfahrer (Beitrag 1070688)
keine Firewall? - normalerweise läuft die Windows-Firewall in den allermeisten Fällen im Hintergrund.

Bernhard

Windows Fragt zu beginn ob das Programm ins Internet darf...

Klaus01 27. Dez 2010 20:19

AW: UDP Empfang mit Indy UDP Server funktioniert nur wenn WireShark aktiv ist
 
Zitat:

Zitat von hedie (Beitrag 1070695)
Windows fragt zu beginn ob das Programm ins Internet darf...

Sind das dann zwei Programme Client und Server?
Weil wenn der Server nur lauscht, dann braucht er keinen Zugriff ins Internet.

Grüße
Klaus

rollstuhlfahrer 27. Dez 2010 20:21

AW: UDP Empfang mit Indy UDP Server funktioniert nur wenn WireShark aktiv ist
 
Dann trag mal die lauschende Anwendung in die Whitelist der Firewall ein. Das müsste bei UDP der Client sein, da bei UDP der Server an die Clients schickt.

Bernhard

generic 28. Dez 2010 09:19

AW: UDP Empfang mit Indy UDP Server funktioniert nur wenn WireShark aktiv ist
 
Da ist etwas mit deinen IPs und den Bindungen krumm.
Wireshark setzt die Netzwerkkarte auf einen Modus, welcher dann alles annimmt. Dieses auch, wenn es nicht für den Rechner bestimmt ist.

Ist die IP 0.0.0.0 für die Indys die Einstellung nimm alle Quellen an?
An welche Ip schickt der Client?
Entspricht das einer gültigen IP des Servers?
Schickst du Broadcasts?


Alle Zeitangaben in WEZ +1. Es ist jetzt 05:15 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz