![]() |
Versenden von Daten an mehrere Rechner im Netzwerk
Hallo,
ich habe folg. vor: Meine Anwendung läuft mehrmals im Netz. Nun soll eine Anwendung bei einem bestimmten Ereignis an alle meinen anderen Anwendungen im Netz Daten senden. Die IP's von allen Rechnern habe ich, die werden beim Login zentral gespeichert. Aber wie kann ich nun die Daten von einem Rechner an mehrere andere Rechner im Netz senden?? Dazu brauche ich ja ein jeder Anwendung einen Client und einen Server. Einmal zum Senden und einmal zum Empfangen! Was ich noch nicht so ganz verstehe ist, wie ich die Daten von einem Client an jeden anderen Rechner schicken? Muß ich mich dazu mit jedem einzelnen Server verbinden und dann senden?? Vielen Dank an alle! |
DP-Maintenance
Dieses Thema wurde von "Sharky" von "VCL-Komponenten und Controls" nach "Internet / IP / LAN" verschoben.
Ist hier besser aufgehoben ;-) |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
Zitat:
genau so musst Du es bei dem von Dir gewählten Weg machen. Als Alternative könntest Du dir überlegen einen UDP-Broadcast zu senden. Dann musst Du dich nicht extra mit jedem "Server" verbinden. |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
wie sharky schon gesagt hat, bietet sich dafür ein udp broadcast an.
Ich habe das in einem meiner Projekte auch so gemacht. Ein Rechner läuft als Server, auf sich alle anderen verbinden. In den Indy Demos, gibs dazu ein Beispiel. Auf dem Server kannst du dann die Befehle der Clients abfangen. Wenn jetzt. z.B. ein Client den Befehl "BROADCAST" schickt, kannst du die Nachricht vom Server aus an alle anderen weiterleiten lassen. greetz Corgan |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
Hallo,
die Idee mit dem Broadcast ist gut! Ich werde das mal ausprobieren. Vielen Dank! |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
Zitat:
Dabei ist natürlich zu beachten das es beim UDP keine Garantie gibt ob dein Packet auch überall ankommt. |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
Genau das ist das Problem von UDP!
Das alles geht aber nur im LAN. Wenn man das über Internet macht und jemand ist hinter einem Router kommt das UDP Paket nicht an! Außer Portforwarding wird auf Router eingestellt. |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
Hallo,
vielen Dank für eure Antworten! Mit UDP hat es funktioniert. Mir reicht es, wenn es nur im lokalen Netzwerk funktioniert. |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
Alternativ geht auch im Internet:
- Server steht (Wenn Server nicht direkt an Internet hängt, Portforwarding ist eingerichtet auf Router) - Alle Clients verbinden sich über TCP (bei Indy TIdTCPClient) mit dem Server. - die Clients sind nicht direkt miteinander verbunden Sendevorgang von CLient will zu CLient senden: - Client sendet Paket an Server - Server sendet an gewünschten Client weiter - Client A -> Server -> Client B Wird dann alles komplex und ist für schnelle Übertragung nicht geeignet. -- Wie macht das überhaupt UT2004 ? UDP ? Man kann aber problemlos hinter einem Router zocken. :gruebel: |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
|
Re: Versenden von Daten an mehrere Rechner im Netzwerk
Zitat:
Das ist nur nötig, wenn einen Serverdienst hinter dem Router betreiben willst. Da du als zogger ja eine Anfrage stellst, weiß dein Router an welche IP das Paket gehen muss. Andersrum, weiß dein Router ja nicht, das wenn aus dem Internet eine Anfrag auf einen bestimmten Port kommt, an welchen Rechner das gehen soll. Dazu dient die Portweiterleitung. greetz Corgan |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
Genau. Das ist mir soweit auch klar.
Aber UDP woher weiss der Server wohin er das Paket schicken soll. UT2004 Client --sendet-Paket-zum--> UT2004 Server (Geht auch mit Router - klar) aber.. UT2004 Server --sendet-Paket-zum--> UT2004 Client - der eigene Router weiss doch nicht an wen das Paket gehen soll?? IP stimmt - weiss der Server - ist die IP vom eigenen Router (nich?). Der sendet auf einem bestimmten Port. Aber der eigene Router weiss doch nicht an wen das Paket weitergeleitet werden soll! Ist mir noch nicht klar wie das da funktioniert :| :?: :? |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
Zitat:
[CLIENT1] -> {ROUTER} --> [Server] Da jetzt eine Verbindung aufgebaut ist, die solange bestehen bleibt, bis einer disconected, weiß der Router an wen die Pakte vom Server weitergeleitet werden sollen. Es ist ja nicht so, das die Verbindung gleich wieder gekapt wird. Die bleibt solange bestehen, wie du auf dem Server bist. Es kommt eben nur drauf an, in welche Richtung die Verbindung zustande kommt. Ist das selbe Prinzip, wie beim surfen oder eMail abholen. |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
Ja, ich dachte UDP ist nicht Verbindungsabhängig, sondern bahnt sich beim Senden den Weg zum Ziel auf die schnellste Weise. Dabei kann jederzeit eine anderer Weg benutz werden. Und bei ner TCP-Verbindung wird eine feste Verbindung hergestellt die immer über denselben Weg führt.
Oder? :gruebel: |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
meines wissens nach, finden sowohl UDP als auch TCP Pakete jeweils den schellsten weg.
Der unterschied zwischen den beiden Protokollen liegt in der Fehlerprüfung. TCP und UDP fallen in die Schicht Transport (der sog. Transport Layer), rangieren also auf Ebene 4 eines ISO/OSI 7-Schichten Modells und ermöglichen die eigentliche Kommunikation von Anwendungen. UDP (User Datagramm Protocol) dient dem Versenden von Datenpaketen über eine verbindungslose, nicht abgesicherte Kommunikation. Das bedeutet, das die erfolgreiche Übertragung via UDP dem Programm überlassen wird und somit nicht immer gewährleistet ist. UDP selbst nimmt keine Überprüfung vor, ob Daten erfolgreich übermittelt wurden. Im Gegensatz dazu handelt es sich bei TCP (Transmission Control Protocol) um eine verbindungsorientierte und zuverlässige Kommunikation, bei der die Sicherung der Übertragung von dem Protokoll übernommen wird. Bei TCP werden verlorene Daten (Pakete) erneut versendet. jetzt alles klar ? :) |
Re: Versenden von Daten an mehrere Rechner im Netzwerk
Ja, schon mehr.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:09 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