0

我从 C++ 中的套接字开始,但看到了 4 个不同的库(或包含),它们允许使用套接字,winsock.h sys/sockets.h例如sfmlboost. 我的问题是,我应该使用什么库/包含?

4

2 回答 2

2

这有点搞笑,但没有一个被广泛接受的 C++ 套接字库。

  • 它不是标准库的一部分
  • Boost ASIO 牺牲简单性换取高性能
  • SFML 套接字看起来很不错,但它仍然包含一堆其他头文件
  • Windows 和 POSIX OS 套接字有令人讨厌的小差异

一些有经验的网络程序员应该编写一个漂亮的单头套接字类,其中包含所有必要的条件编译标志,以便在多个操作系统上工作。

于 2013-09-11T21:17:00.410 回答
0

如果您使用的是类 UNIX 操作系统,请使用sys/socket.h. 它是开放标准的一部分。对于 Windows,您需要使用 Winsock 库,因此您必须改为包含winsock2.h(这里是关于如何使用该库的文档)。

于 2013-09-11T21:09:03.290 回答