【发布时间】:2010-11-16 21:30:17
【问题描述】:
我最近对 C++ 有了更多的了解。我已经用 C 完成了一些(非常少的)套接字编程,但对用 C++ 做一些工作很感兴趣。我只能找到关于基于 C 的套接字实现的参考/教程。是否有一个原因?我知道或相信我知道您可以将 C 套接字库用于 C++,但不确定。
是否有比其他人更频繁使用的 C++ 套接字库?这不是一个主观问题,我实际上是想找出 C++ 的 Socket API/库是什么。
我是套接字编程和 C++ 的新手,所以请不要回答会让我陷入困境的答案。
谢谢
【问题讨论】:
-
任何套接字库的一个重要测试是它是否公开事件。 Qt 可以,本机 Win32 套接字 API 可以(请参阅
WSAAsyncSelect),BSD 套接字使事件成为可能,但并不容易(select和poll,与名称相反的是事件驱动,而不是轮询,或 @987654325 @)。许多其他库迫使您采用阻塞式每个连接一个线程的样式,这不仅效率低下,而且会导致错误。这里的复杂之处在于您的套接字事件和 UI 或串行端口或您的程序处理的任何其他事件必须在单个事件循环中兼容。 -
2020 - 如果您使用的是 C++ 17 编译器,kissnet 是支持 OpenSSL 的最小跨平台套接字 API
标签: c++ sockets network-programming