2009-02-27 115 views
7

我正在编写使用SDLOpenGL的线程化跨平台应用程序(Linux/Windows),并且我正在考虑SDL Net2,因为它位于SDL_Net之上。但是,我之前从未在C/C++中完成过网络连接,所以我不熟悉任何可用的跨平台技术。有没有人有SDL_Net或Net2的经验,他们会建议一个不同的图书馆?C++(UDP或TCP)的网络框架?

+0

你能提供一些关于你正在写什么类型的应用程序的信息吗?你能描述一下你将使用网络层进行传输吗? UN /可靠吗?带宽考虑,延迟容忍等? – 2009-02-28 18:02:05

回答

6

boost :: asio是你的朋友。它是跨平台的异步io库。良好的网络。在增强网站上有很多样本。 http://www.boost.org/

1

有一堆框架(例如,Poco,ACE)。这取决于你在找什么。如果你想在操作系统层创建原始套接字,并通过它们发送字节流,那么我将按照其他人的建议与Boost.Asio一起去。如果您正在寻找通过HTTP或类似的方式发送XML文档,那么请研究一些其他的选择。

1

正如其他人所说,boost :: asio肯定是不错的选择。

现在说,这是真正的“原始”网络。

如果你正在做一个视频游戏,或者网络性能样的视频游戏软件,也许更多的优质水平,这种情况下,库像重建议报告优化RakNet库将是一个更好的选择。 在这种情况下的另一种选择是,如果您想要基于较低级别的UDP的库,ENet可能适合您的需要。