C++套接字设计

标签 c++ sockets tcp client

我正在设计一个使用 TCP/IP 的客户端服务器套接字程序。

服务器监听某个端口,客户端程序与服务器建立2个连接。一个用于命令和响应,另一个用于数据流。

对于命令和响应,我可以使用普通的阻塞套接字模式来接收客户端命令并发送服务器响应。

对于流式数据,服务器将等待客户端发送开始流命令并开始向该客户端连续发送数据。现在的问题是我需要处理程序也监听此连接以获取停止流命令。因此,我正在考虑让这个连接成为非阻塞的,这样接收就不会阻塞,然后是非阻塞的发送。

这种实现服务器和客户端处理程序的方法是否高效?

最佳答案

看看 Boost::asio 套接字管理层。写的很好。

http://www.boost.org/doc/libs/1_49_0/doc/html/boost_asio/tutorial/tutdaytime1.html

关于C++套接字设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9618087/

相关文章:

c++ - 具有与模板相同类型非类型参数的默认类型参数

node.js - 在 Node.js TCP 套接字中测试 keepalive 的功能

java - TCP 连接 - 服务器仅在关闭套接字后发送消息

c++ - Printf 和十六进制值

C++ 我对多态性的理解正确吗?

python - 文件描述符的继承 - Python 3.4

node.js - 网络套接字 : cannot detect client connection on internet disconnect

python - 发送稀疏文件

c# - 如何确保从 NetworkStream 读取所有数据

c++ - VIM 的 YouCompleteMe 插件 - 如何支持其他库方法的自动完成? (例如 openmpi)