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

Flutschi

Treue Seele

  • »Flutschi« ist der Autor dieses Themas

Beiträge: 90

Wohnort: Schweiz

  • Private Nachricht senden

1

25.10.2012, 20:12

SFML 2.0 & Network

Guten Tag,


So, ich bin grad bissel mit dem Network teil von der SFML am rumspielen und frage mich gerade ob ich mit Thread arbeiten muss damit ich mit mehreren Clienten auf den kleinen Server den ich mir gebastelt habe zu connecten? Denn soweit ich das sehe wartet es bei "Listener.listen(PORT);" bis wirklich einer connected, und da ich ja mehrere will muss ich ja da anderes noch erledigen im hintergrund mit den anderen Clienten die connected sind, liege ich da richtig?


Ich hoffe man weis auf was ich hinaus will :p


Vielen Dank
♥ SFML 2.0 Visual Express 2010 ♥

Schorsch

Supermoderator

Beiträge: 5 145

Wohnort: Wickede

Beruf: Softwareentwickler

  • Private Nachricht senden

2

25.10.2012, 20:27

Keine Ahnung von SFML und den dabei eingebauten Netzwerk Geschichten, aber wovon du redest sind blockierende Methoden. Das Verhalten hast du ja schon ganz gut erkannt. Sie warten bis etwas bestimmtes passiert. Bei Sockets ( so nennt sich normal die untere Schicht mit der du arbeitest wenn du Netzwerkapplikationen schreibst) gibt es verschiedene Möglichkeiten. Du kannst wie du schon selbst erkannt hast Threads benutzen. Dabei gehst du normalerweise so vor, dass du einen Thread hast in dem neue Clients angenommen werden, plus die Threads für die schon verbundenen Clients. Weiterhin kannst du mal nach Socket select suchen. Dadurch kannst du in einem Thread mehrere Verbindungen handeln. Musst du einfach ein wenig bei Google suchen. Ansonsten gibt es noch die Möglichkeit mit Asynchronen Sockets zu arbeiten. Dabei musst du Callback Funktionen angeben/registrieren, welche aufgerufen werden sobald ein bestimmtes Ereignis eintritt. In dieser Methode steht dann der Code der ausgeführt werden soll. Zum Beispiel würdest du hier eine Nachricht verarbeiten, sobald Daten ankommen. Danach kannst du auch mal suchen.
Das sind drei Möglichkeiten die du hast, wenn du direkt mit Sockets arbeiten möchtest. Nun gibt es einige Engines die dir diese ganze Arbeit abnehmen. Ist sicherlich mal ganz nett gesehen zu haben wie das grob abläuft. Eine fertige Engine nimmt dir halt einiges an arbeit ab.
Gucks dir vielleicht einfach mal an und spiel danach mit ein paar Engines rum. Dann hast du beides mal gesehen und kannst am besten entscheiden was du willst.
„Es ist doch so. Zwei und zwei macht irgendwas, und vier und vier macht irgendwas. Leider nicht dasselbe, dann wär's leicht.
Das ist aber auch schon höhere Mathematik.“

Flutschi

Treue Seele

  • »Flutschi« ist der Autor dieses Themas

Beiträge: 90

Wohnort: Schweiz

  • Private Nachricht senden

3

25.10.2012, 21:15

Okey danke, dann werd ich mal threads studieren ;)
♥ SFML 2.0 Visual Express 2010 ♥

Werbeanzeige