sockets - 非阻塞套接字轮询与阻塞套接字

标签 sockets networking client-server blocking

我需要同时发送接收
哪个选项更好:

  • 1 个线程使用非阻塞套接字处理发送和接收

  • 2 个线程,其中一个处理阻塞 receive() + 一个处理 send()?

或者还有其他解决方案吗?

我预计最多有大约 50 个双向连接。这导致选项 #1 中有 50 个线程,选项 #2 中有 100 个线程。

最佳答案

我不会使用这两种方法。

看看this所以问题。我将使用工作线程模型,其中 N 个线程使用非阻塞套接字处理所有流量。

如果您绝对必须遵循您刚才描述的方法之一,请选择非阻塞恕我直言。

关于sockets - 非阻塞套接字轮询与阻塞套接字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/950487/

相关文章:

java - Android套接字编程

linux - 获取换行符的数量并将每个换行符存储在变量中

networking - Powershell 检测到额外的映射驱动器

java - 服务器如何处理服务器生成的临时文件的多个用户文件下载请求?

java - bundle 内的 bundle

php - 如何在 PHP 中处理套接字

python - 套接字类比 : a pipe or two pipes?

http - 将套接字与进程相关联

C++ 应用程序 : discover other IPs on LAN

c++ - IRC 协议(protocol)消息格式