Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (WinAPI, Konsole) » Socket Programmierung (TCP)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 < [ 2 ]
000
11.05.2004, 08:00 Uhr
~MK
Gast


Hallo,
ich habe ein Netzwerk aufgebaut (2 x DOS Rechner als Server, 1 x Windows2000 Rechner als Client).

Bisher habe ich folgendes realisiert:
- Vom Client kann ich durch Auswahl eines Servers eine Nachricht versenden und eine Rückantwort empfangen.

Folgendes möchte ich realisieren:
- Ich möchte zusätzlich die Möglichkeit haben vom Client eine Nachricht an beide Server gleichzeitig versenden, und von beiden eine Rückantwort erwarten.

Kann mir da jemand weiterhelfen, oder kennt jemand eine Seite (evt. mit Codebeispielen) wo dieses Verfahren beschrieben ist?
Danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
11.05.2004, 08:47 Uhr
ao

(Operator)


Wenn du die Nachricht an einen Server schicken kannst, wieso kannst du sie nicht an beide schicken?

Außerdem ist das hier off-topic, also ab zu WinApi.

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
11.05.2004, 08:58 Uhr
~MK
Gast


Ich kann eine Nachricht an beide Server schicken, allerdings nur hintereinander. Ich möchte aber das die Nachricht gleichzeitig an beide Server verschickt wird.

Das ganze wurde in C++ realisiert, Server -> socket.h / Client -> winsock.h
Ich denke das war schon die richtige Rubrik in C/C++.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
11.05.2004, 09:07 Uhr
typecast
aka loddab
(Operator)


Die Frage ist hier in der Win-API schon richtig. Mit ANSI C/C++ ist das nämlich nicht lösbar. Was die parllität angeht, müsstest du schon Threads einführen um "gleichzeitig" zu senden

Was du wahrscheinlich willst, ist die selbe Nachricht mit einem write-Befehl (oder was auch immer du nutzt um deine Daten über das Netz zu senden) beide Server zu erreichen.
Das ist nicht möglich. TCP ist verbindungsorientiert, das heißt es existiert nur eine Verbindung zu einem Server über einen Socket.
Du wirst schon nacheinander über zwei Sockets senden müssen.
--
All parts should go together without forcing. ... By all means, do not use a hammer. (IBM maintenance manual, 1925)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
11.05.2004, 10:00 Uhr
~MK
Gast


Das stimmt schon, dass TCP verbindungsorientiert ist. Gibt es nicht auch eine andere möglichkeit so etwas zu realisieren? Es muss nicht unbedingt über TCP laufen, es kann auch UDP oder etwas anderes sein (was ich nicht kenne). Ich übertrage eben zuerst über TCP einige Daten an die Server, und möchte dann die Möglichkeit haben zu irgendeiner Zeit vom Client ein Signal an meine Server zu schicken, damit alle gleichzeitig mit etwas starten können.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
005
11.05.2004, 11:13 Uhr
Guybrush Threepwood
Gefürchteter Pirat
(Operator)


das wirst du nicht hinbekommen das die Nachrichten absolut gleichzeitig gesendet werden, schon allein aus dem Grund das dein Prozessor nur einen Schritt gleichzeitig ausführen kann.
Dieser Post wurde am 11.05.2004 um 11:13 Uhr von Guybrush Threepwood editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
006
11.05.2004, 13:03 Uhr
ao

(Operator)



Zitat:
~MK posteteund möchte dann die Möglichkeit haben zu irgendeiner Zeit vom Client ein Signal an meine Server zu schicken, damit alle gleichzeitig mit etwas starten können.

Es geht also gar nicht um Socketprogrammierung, sondern um die zeitliche Synchronisierung der Server, richtig? Wie genau muss die Synchronisierung denn sein?

ao
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
007
11.05.2004, 13:15 Uhr
virtual
Sexiest Bit alive
(Operator)


Hi,
wenn ich mich mal einmischen darf:
www.tldp.org/HOWTO/Multicast-HOWTO-1.html ist wohl das, was Du suchst; hat auch die Vorteile von TCP.

Ich habe das HOWTO nicht selbst gelesen, deshalb kann ich nichts zur Qualität aussagen. Allerdings ist TCP Multicast in etwa das, was zu Deinem Problem passt.
--
Gruß, virtual
Quote of the Month
Ich eß' nur was ein Gesicht hat (Creme 21)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
008
11.05.2004, 13:19 Uhr
Windalf
Der wo fast so viele Posts wie FloSoft...
(Operator)


TCP Multicast?

sind das nicht zwei dinge die sich gegenseitig widersprechen...
--
...fleißig wie zwei Weißbrote
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
009
11.05.2004, 14:22 Uhr
~MK
Gast



Zitat:
ao postete
Es geht also gar nicht um Socketprogrammierung, sondern um die zeitliche Synchronisierung der Server, richtig? Wie genau muss die Synchronisierung denn sein?

ao


Es sollte so genau wie möglich sein. Am besten im Millisekunden-Bereich. Aber das wird warscheinlich nicht möglich sein.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 < [ 2 ]     [ C / C++ (WinAPI, Konsole) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: