Netes játék összekapcsolási probléma?
Hello.
Az a kérdésem akadt, hogy pl egy amőba játékot szeretnék írni, amivel neten keresztül lehet egymással játszani. Ezt hogy kell megvalósítani? Esetleg TCP szerver-kliens módon?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
Te jó isten, nehogy már a sok baromra hallgass, interneten át UDP, hagyjuk már :D
Az UDP-nek pont az a lényege, hogy nem garantált az üzenetek célba érkezése, ahogy az sem, hogy abban a sorrendben érkeznek, ahogy el lettek küldve. Ergo te magad le kellene kódoljad ugyanazt, ami a TCP-nél már kész van :
visszajelzést az üzenetekről, ha nem sikerül a küldés, a csomagok újraküldését, sorrendbe rendezését, stbstb. Ez még egy profinak se pár napos meló, ráadásul teljesen felesleges, hiszen a TCP ezt mind tudja.
Egyszóval: TCP.
Ha Windows alatt mókolsz, akkor néz utána a Winsocket-eknek.
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
"Valami más, egyszerűbb módja nincs?"
Mire?
Most jelenleg a TCP megoldásnál maradok.
Most akkor a szerver és a kliens részt is be kell építenem a játékba?
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz2.png)
![*](http://static.gyakorikerdesek.hu/p/vsz1.png)
![*](http://static.gyakorikerdesek.hu/p/vsz0.png)
A játékban két dolgot kell megoldani:
1. Tudjon TCP szerverként üzemelni
2. Tudjon TCP kliensként üzemelni
Ha ezek megvannak, akkor ki kell rakni vmi gombot a felületre, vagy vmi, hogy : Start Server
Ezt mondjuk A játékos megnyomja, akkor az A játékos fog szerver-módban üzemelni.
Emellett kell egy olyan gomb, hogy pl. Connect to another player, aminek megadhatsz egy IP címet.
Ezt a B játékos fogja megadni, és A játékos IP címét fogja beírni, ekkor ő fog kliensként üzemelni.
Innentől kezdve már csak azt kell megoldanod, hogy üzeneteket küldözgetsz ide-oda, amikor valaki lép valamit.
Erre a legegyszerűbb, ha sima ASCII string-eket szerializálsz:
pl. valamelyik játékos rak egy jelet XY koordinátára(mondjuk 25,13), akkor csinálsz egy string-et, hogy "25,13", és ezt átküldöd a másik oldalra.(+ Az üzenet első byte-ja legyen a string hossza, így tudod, hogy mennyit kell olvasnod a socket-ből)
Kapcsolódó kérdések:
Minden jog fenntartva © 2025, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!