Witam, piszę grę i korzystam przy tym głównie z winapi(tak jakoś wyszło). Doszedłem do tego momentu w którym miło by było zagrać z kolegami ale na jednym komputerze jest to niemożliwe... stąd moje pytanie. Jaka biblioteka jest najlepsza(najszybsza/najprostsza) do zrobienia serwera do komunikacji oraz klienta do odbioru i wysyłania danych? oraz jak komunikować się z innym komputerem przez bezpośrednio przez internet(nie przez jakiś serwer w internecie). Podobno jest to możliwe ale ja tam się nie znam
Niikelion napisał(a):
Jaka biblioteka jest najlepsza(najszybsza/najprostsza) do zrobienia serwera do komunikacji oraz klienta do odbioru i wysyłania danych?
Od siebię polecę ZeroMQ: http://zeromq.org/
Niikelion napisał(a):
oraz jak komunikować się z innym komputerem przez bezpośrednio przez internet(nie przez jakiś serwer w internecie).
Ogólnie to sockety. Tyle, że korzystanie z bibliotek(np. wyzej wspomniane zeromq) uwalnia Cie od korzystania z surowych socketów.
A tak poza tym, jeżeli napisałeś grę i chcesz z niej zrobić grę internetową, a nie wiesz o istnieniu socketów to zanim ją skończysz dużo się nauczysz ;) i dobrze w sumie
QMQ to dobry wybór, tym nie mniej możesz rzucić także okiem na RakNet, czy ENet albo asio.
Generalnie żeby pograć z kolegami przez internet to musisz się najpierw dostać za NATa (bo zakładam, że nikt z was nie ma dedykowanych ipków). Najprostsza opcja to forwardowanie portów, później użycie UPNP. Lepsza i bardziej skomplikowana wersja to użycie dowolnego algorytmu NAT traversal
(np. hole punching, punchthrough). Część z polecanych powyżej bibliotek oferuje już gotowe implementacje tych algorytmów.
To ja idę poczytać :)