我对网络编程很陌生,我正在编写一个应该接受许多 TCP 连接并从它们接收数据的程序。为了使事情并行,代理应该从新线程中的每个套接字读取数据。我决定使用boost::asio
而不是原始的 *nix 套接字来使事情变得更简单。虽然这似乎是一个错误的决定……
我想知道我是否只调用boost::asio::read
或boost::asio::read_some
阻塞它的调用线程或阻塞进程?是的,我应该编写自己的小测试并自己查看结果,但我现在无法访问我的 Linux 机器。只是在想我明天应该在大学写的代码。
因此,如果它阻止了该过程,那么实现同时接受多个客户端的服务器/客户端架构的正确方法是什么?
笔记:
- 我在设计决策方面遇到困难。任何建议都是合适的。