![]() |
Server im Netzwerk finden
Hallo,
ich habe folgendes Problem: Ich habe 2 Programme; einen Client und einen Server. Frage: Wie kann ich den Client eine Nachricht an alle Netzwerkrechner senden und beim Erkennen des Servers dessen IP (und wenn möglich Port) herrausbekommen? Ich hab mal was von BROADCASTs gelesen ... Florian |
Re: Server im Netzwerk finden
Stichworte wären:
- Broadcasts - UDP Dabei ist zu beachten: - Die beiden Rechner müssen in der selber Broadcast-Domain liegen. - Du musst dem Socket sagen das er Broadcasts senden soll. |
Re: Server im Netzwerk finden
Danke,
aber wie sende ich den Broadcasts? Hast du vielleicht ein wenig Quelltext und vor Allem: Kann ich so z.B. ClientSocket.Socket.SendText() einfach an alle Netzwerkrechner senden? Florian |
Re: Server im Netzwerk finden
Mit TCP geht das nicht, du brachst auf der Client-Seite einen UDP-Socket.
Mit ihm sendest du ein UDP-Dgram an 255.255.255.255:[entsprechender Port], mit einem Inhalt den du selber bestimmen kannst und musst. Das Packet sollte nicht größer 1500 Byte sein, da es sonst eve. z.B. bei WLAN häufiger zu Störungen kommen kann. Danach sollte der Server entsprechend Antworten. CODE hab ich gerade keinen zur Hand. *** WERBUNG *** ![]() |
Re: Server im Netzwerk finden
erstmal Danke,
Ich kenn mich mit UDP leider gar nicht aus! Alos nochmal: Ich nehme z.b. einen idUDPClient (wie man ein von dir genanntes DGram sendet weis ich nicht), sende halt die Nachricht 255.255.255.255:Port mit der Anfrage an alle Rechner. der idUDP Server empfägt das (weis ich auch nicht wie man das handhabt) und sendet seinerseits auch eine Nachricht mit seiner IP an alle Rechner. Die kann dann wieder ausgewertet werden, usw. Frage: wie sendet man UDP Nachrichten und wie handhabt man den Empfang (Quellcode? :stupid: ) Florian |
Re: Server im Netzwerk finden
Zitat:
OK: Anscheinend Indy! TIdUDPClient BroadcastEnabled = true Host auf 255.255.255.255 Funktion: z.B. SendBuffer Empfang logischerweise via TIdUDPServer. Quellcode hab ich bei Indy leider keinen, da ich mit WS werkle. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:44 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz