Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

NoName

Treue Seele

  • »NoName« ist der Autor dieses Themas

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

1

23.11.2003, 12:45

WinSockets: "send" während "recv"

Kann ein Socket mittels "send" übers Internet Daten senden, noch während die "recv"-Funktion (Blocking Call) andauert?

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

23.11.2003, 14:17

Ich bin mir selbst nicht ganz sicher.
Willst Du das mit zwei verschiedenen Threads machen? Also ein Thread sendet, der andere empfängt?

NoName

Treue Seele

  • »NoName« ist der Autor dieses Themas

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

3

23.11.2003, 14:22

Genau!

In der MSDN Library hab ich nichts darüber gefunden...

4

23.11.2003, 15:20

über was ahst du nichts gefunden.? threads oder
send/recv parallel.?

NoName

Treue Seele

  • »NoName« ist der Autor dieses Themas

Beiträge: 118

Beruf: Student

  • Private Nachricht senden

5

23.11.2003, 15:24

Letzteres :)

DarthB

Treue Seele

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

6

23.11.2003, 17:20

Mal nur aus Interesse warum müsste man den beides gleichzeitig machen? Mir fällt jetzt kein Beispiel ein.

Ciao DarthB :huhu:

Beiträge: 58

Wohnort: Olpe

Beruf: Schüler

  • Private Nachricht senden

7

23.11.2003, 18:15

Gleichzeitig ist so etwas doch sinnlos, man kann das aber insowerfn parallel machen, dass man mal was empfangen kann und mal was senden kann.

Wie das unter WinSock läuft, habe ich in einem Tutorial von mir genau beschrieben:

http://www.zfx.info/Tutorials.php?ID=84

Villeicht kannst du damit ja was anfangen.

MfG MAV
Wenn du denkst es geht dir gut
denkst es könnt nicht besser sein
dann geht's ab ins tiefe Tal
und dein Leben ist die Qual

8

23.11.2003, 18:57

Is nich quatsch, z.b. Shooter, du musst Daten empfangen und Senden.
Ich würde für das Empfangen mit Mis2Coms methode noch einen Threadverwenden. Und für das Senden vielleicht auch, sollte es mal schiefgehen (Leitungen so stark belastet oder so) hängt dein Spiel nich und das nächste Paket geht dann halt raus.

DarthB

Treue Seele

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

9

23.11.2003, 19:49

Das sollte trotzdem ganz gut laufen wenn du es nicht genau gleichzeitig machst.

@ghostie
Es wird ja nicht ständig etwas gesendet, man kann ja auch alle 25ms ein Packet mit den aktuellen Positionen der Player und so senden.

[EDIT]
Hätte ich doch glatt vergessen ---> Ciao DarthB :huhu:
[/EDIT]

10

24.11.2003, 18:51

Zitat von »"DarthB"«

Das sollte trotzdem ganz gut laufen wenn du es nicht genau gleichzeitig machst.

@ghostie
Es wird ja nicht ständig etwas gesendet, man kann ja auch alle 25ms ein Packet mit den aktuellen Positionen der Player und so senden.

[EDIT]
Hätte ich doch glatt vergessen ---> Ciao DarthB :huhu:
[/EDIT]

Er Arbeitet aber im Blocking Mode. Was bedeutet dass das Programm bei send solange stehen bleibt bis die Daten versendet wurden. Das gleiche gilt auch fuer recv. Hier bleibt das Programm dann solange bei recv stehen bis Daten ankommen.
Entweder man Arbeitet da mit zwei threads oder eben nicht im Blocking Mode. Finde jedoch zwei threads besser. Der eine sendet und der andere empfaengt die Daten. Man hat dann nur viel Spass mit der Syncronisierung.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

Werbeanzeige