【发布时间】:2012-01-02 20:18:52
【问题描述】:
有人可以推荐一个免费的 C++ 开源库,我将使用它来使用 UDP 构建网络游戏。必须适用于 Windows/Linux/Mac。请尽量轻量化。
【问题讨论】:
-
如果不需要静态链接,可以使用Qt。
-
最轻量级的解决方案就是直接调用 BSD 风格的 C 套接字函数;它们已经在您提到的所有操作系统上可用,并且它们在每个操作系统上的工作99.9%相同(主要区别是您需要在使用它们之前调用 WSAStartup() ,仅在 Windows 版本中)。 UDP 套接字使用起来非常简单,C++ 包装器库并不能真正为您节省很多工作。
-
@Jeremy 我想避免任何 Windows 细节。我见过一些使用套接字的代码,其中有相当多的#ifdefs。
-
我不认为你会避免 Windows 的细节,而是将它们从你的代码移到网络库的代码中。 FWIW,我在我的网络库中数不到十几个这样的#ifdef(我认为您不会认为“轻量级”,但 FWIW 就在这里:lcscanada.com/muscle)
标签: c++ sockets network-programming