c++ - 谈论套接字时的同步和异步术语

标签 c++ windows sockets network-programming terminology

我不完全理解他们所说的“异步读写操作”或“同步读写操作”是什么意思。

我将举例说明我对术语的理解,如果我错了请更正:

  • 以阻塞模式在套接字上读写被认为是同步的。
  • 以非阻塞模式在套接字上读写被认为是异步的。
  • 使用重叠 I/O 在套接字上读写被认为是异步的。

最佳答案

Read and write on a socket in a blocking mode is considered synchronous.

是的。

Read and write on a socket in a non-blocking mode is considered asynchronous.

没有。它是同步的。操作在当前线程内联完成或失败。

Read and write on a socket using Overlapped I/O is considered asynchronous.

正确。函数调用发布要完成的操作,它独立于当前线程进行,需要稍后的操作来确定其成功或失败,或者有完成回调。

关于c++ - 谈论套接字时的同步和异步术语,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28684944/

相关文章:

c++ - boost asio 和套接字阵列

java - TCP NTP Java Socket 程序

windows - 仅在现代 Windows NT 系统上,我可以在运行时确定句柄是引用套接字还是对象句柄吗?

c++ - (.text+0x20) : undefined reference to `main' When trying to Compile . cpp 文件

java - Eclipse 不生成 MainActivity.java & activity_main.xml

c++ - 表达式的行为 : Defined or Undefined?

c# - 如何查找和删除文本文件中的控制字符

c# - Windows 10 RTM OSVersion 没有返回我所期望的

c++ - OpenGL VAO - 在多种情况下处理 VAO

c++ - 当类创建为 shared_ptr 时,添加到类的附加函数会导致段错误