Socket-Problem
-
Hallo!
Kleine Frage: Wie legt man beim Client bzw Server die Reihenfolge der recv- bzw send-Anweisungen fest? Ich habe mal was von einer Anweisung namens select gehört.Also, wie macht man sowas?!
Danke,
Jamba
-
Ich würd mal sagen das macht das TCP/IP-Protokoll auf dem Presentation- und Application-Layer.
Ist also einfach nur ne Frage der Anwendung und des Programmierers.
Entweder sendet der Client zuerst, oder der Server.
Select überwacht nur sämtliche Socketverbindungen und wartet, bis auf irgendeiner etwas ankommt. Macht eigentlich nur der Server..
-
Select überwacht nur sämtliche Socketverbindungen und wartet, bis auf
irgendeiner etwas ankommt. Macht eigentlich nur der Server..Naja, jenachdem wie man select einsetzt.
Ansonsten liegt es in der Hand des Programmierers, zu entscheiden wer als
erstes sendet und wer als erstes empfaengt.Nutzt man bereits standardisierte Protokoll, ist es vorgegeben, wie sich der
Client zu verhalten hat.mfg
v R
-
Also zur Zeit sieht das bei mir so aus.
Client:
while(true) { int bytes1 = recv(sock, buffer, sizeof(buffer), 0); cout << "Nachricht: " << buffer << endl; cout << "Es wurden " << bytes1 << " empfangen." << endl; break; }
Server:
while(true) { int bytes1 = send(sock2, msg, sizeof(msg), 0); cout << bytes1 << " von " << sizeof(msg) << " Bytes wurden erfolgreich gesendet." << endl; break; }
Soll ich dann jetzt jeweils noch eine while-Schleife machen oder geht das auch anders?
Danke,
Jamba
-
Was soll auch anders gehen?
mfg
v R