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

DarthB

Treue Seele

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

21

24.11.2003, 22:56

@ghostie
Kein Problem! ;D

@Alle
Trotzdem würde mich noch interessieren ob die recv Funktion soviel Zeit verschlingen könnte dass man sie besser in einen externen Thread laufen lassen könnte.

Ciao DarthB :huhu:

Beiträge: 58

Wohnort: Olpe

Beruf: Schüler

  • Private Nachricht senden

22

25.11.2003, 21:56

Ich verstehe nicht, wieso ihr nicht mit select (non-blocking mode) arbeiten wollt.
Das ist eine schöne, schnelle Methode, die kaum aufwendig ist!

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

23

25.11.2003, 22:11

Weil bei Non Blocking die Gefahr besteht das Paket nicht oder in der falschen Reihenfolge ankommen.

24

26.11.2003, 02:04

Wenn man mit UDP Arbeitet ist es eh egal. Weil das Protokoll nicht vorsieht die Packete auch in der richtigen Reihenfolge zu liefern. Bei TCP sieht das jedoch ganz anders aus. Hier uebernimmt das Protokoll die Arbeit.
Ich habs noch nicht mit WinSock ausprobiert, aber wenn es sich an den Standard haelt sollten die Pakete auch richtig ankommen. Egal ob nun Select oder Thread.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

DarthB

Treue Seele

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

25

26.11.2003, 12:50

Ich benutze ja select. Hier scheinen nur alle die Lösung mit den Threads so toll zu finden. Dann wäre meine Klasse aber schon nicht mehr portabel. Naja egal. Ich benuzte jetzt einfach select weiter wenn nicht einer kommt der wirklich Ahnung von der Materie hat und mir einen Grund nennen kann unbedingt Threads zu benutzen.

Ciao DarthB :huhu:

26

26.11.2003, 13:45

UDP ist aber relativ dumm, will ich mal so sagen. Ich benutzt momentan noch TCP für ein RTS etc reicht das ja.

Wie kann ich denn unter UPD dynamisch Senden (man muss doch nich immer 1024byte für ne klasse die gerade mal 45byte groß ist senden) ?

27

28.11.2003, 18:37

Du bestimmst doch wie gross ein Packet ist. In einem Buch verwendet der Author immer 4KByte als ein Packet. Zum dem ist es besser wenn ein Packet immer gleich gross ist. Dann koennen Cheater nicht aus der Packetgroesse etwas schliessen.
Wichtig! Ich übernehme keinerlei Verantwortung für eventl. Datenverlust oder Schäden am Rechner ;D

28

28.11.2003, 19:20

Ne das mach ich nicht. Ich sende momentan 3 Klassen.

Typ, Size, Data.(int,int,BYTE*)

Oder kann ich auch eine Klasse verschicken Message(int,int,BYTE*) und dann mit Recv erstmal nur 4 Byte auslesen(für typ) und dann nochmal 4 Byte (für große) und dann den Rest (= Größe) ?

Also das ich 3x Recv aufrufe ?

Wenn ja, wie mach ich das ? (aus 4byte einen 1 int formen ? und wie kann ich ne ganze Klasse senden (BYTE*)MyClass will nich :( )

DarthB

Treue Seele

Beiträge: 265

Beruf: Schüler

  • Private Nachricht senden

29

28.11.2003, 19:51

Also, ich hab von UDP noch nicht soviel gehört, es ist aber, müsste ich in der MSDN aufgeschnappt haben, ein connection loses Protokol.

Aber was sind die Vorteile gegenüber TCP/IP? Eigentlich lässt, die Popularität des TCP/IP Protokolls gegenüber des UDP doch schon schließen was besser sein müsste!? Oder irre ich mich da? Es kommt wahrscheinlich auf die Andwendung an! ???

Ciao DarthB :huhu:

Werbeanzeige