Attualmente sto riscrivendo il lato server di un mmorpg molto vecchio, e stavo cercando una buona libreria di rete opensource da utilizzare con C/C++.Libreria di rete per lato server di un mmorpg (libuv/boost :: asio?)
Poiché il client esiste già, non è possibile utilizzare alcuna libreria che imponga un tipo di struttura o comunicazione a pacchetto (come, ad esempio, RakNet).
Il server utilizzerà principalmente UDP, su tre porte diverse.
Dopo aver cercato su internet, ho scoperto boost: asio e libuv.
boost :: asio sembra un'opzione matura, poiché userò già boost, ma ho letto che la loro implementazione UDP è un po 'scarsa e che non può ottenere le massime prestazioni di un processore multicore a causa di alcune serrature quando si utilizza epoll.
libuv sembra grande, è basato su eventi, supportato da un grande progetto, ma al momento non esiste un progetto di questo tipo che lo utilizza, quindi sono in dubbio per usarlo.
Cosa ne pensi? Posso usare libuv in un progetto come questo, o dovrò andare con boost :: asio? Sono aperto anche ad altri suggerimenti (devono essere multipiattaforma e ho già scartato enet, libevent e libev).
[liblacewing] (http: // lacewing-project.org) potrebbe anche essere una buona soluzione per questo (supporta epoll, kqueue o IOCP su Windows). Divulgazione: sono lo sviluppatore principale. –
Cool project, lo guarderò, ma sono tentato di usare asio, dato che userò già boost. – RenatoUtsch
@ RenatoUtsch Ciao Renato, e un anno dopo, cosa hai scelto? Potresti darci dei ritorni sulla tua esperienza? Grazie –