我正在设计一个使用 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/