如何使用C ++套接字库

时间:2009-08-01 10:45:17

标签: c++ api sockets compilation

我想用C ++做一些网络套接字编程,找到C++ Sockets library

首先,这是一个很好的C ++方法吗?通常在C中,我会使用bee his tutorial中描述的一些东西。

其次,如何编译网站上给出的示例?我无法从他们的安装/配置指南中找到它。所以我将tar.gz下载到我的Linux盒子,然后是什么?

要有一个具体的例子,我如何编译并运行DisplaySocket example

感谢。


编辑:谢谢您的快速解答。虽然评论。我并没有真正研究“理解”网络编程,因为我认为我已经做得很好了。我想知道是否有任何特别的东西可以利用C ++,并且 - 如果“C ++套接字库”是一个不错的选择 - 如何使用它。

4 个答案:

答案 0 :(得分:9)

这不是“C ++”套接字库,它是“一个”C ++套接字库。 Boost.asio有另一个(http://www.boost.org/doc/libs/1_39_0/doc/html/boost_asio.html)。

(社区维基,因为我实际上无法帮助您解决问题 - 我从未编译过您所询问的代码,所以我不知道您可能在什么时候绊倒了问题。)

答案 1 :(得分:3)

通过使用基本套接字api(BSD或WinSock)而不是套接字库可以更好地理解网络编程,套接库隐藏了大多数关于套接字及其行为的复杂性。

答案 2 :(得分:0)

当我用C ++编写网络代码时,我喜欢使用ACE networking library。我认为它可以很好地抽象出一些错综复杂的细节,这些细节会使网络编码变得痛苦,但却没有把它隐藏起来隐藏在幕后的内容。它还具有线程和消息传递功能,通常是任何项目所需的。

答案 3 :(得分:0)

我会选择boost :: asio,因为它封装了控制模型的反转,这是当前的首选模型,并且似乎是标准限制的。要了解文档没有告诉你的内容,谷歌道格拉斯施密特和他的书。