c - 是否可以同时执行sendto()和recvfrom()?

标签 c networking tcp

我正在使用 UDP 套接字制作非常简单的 TCP 模拟网络应用程序。

但是,我想同时使用和调用 sendto()recvfrom() 函数来实现使用称为“选择性重复”协议(protocol)的管道。我的意思是不像发送,等待,接收,发送,等待,接收,...那样排序,我的意思是像发送,发送,发送,接收,发送,发送,接收,接收一样,没有任何调用 sendto() 的顺序,recvfrom(),即随机调用这些函数。

但基本上,如果我不能同时使用这些功能, sendto()recvfrom() 的作用就像停止和等待协议(protocol)。

但是,在流水线实现中, sendto()recvfrom() 函数同时起作用。

我应该使用pthread还是其他解决方案?还是多路复用?

最佳答案

要同时执行任何事情,您需要有多个线程。

一个线程将根据需要调用 sendto,另一个线程将在循环中调用 recvfrom

关于c - 是否可以同时执行sendto()和recvfrom()?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37704482/

相关文章:

c++ - 如何从c/c++源代码获取Windows的python .pyd? (更新: brisk now in Python in case that's what you want)

c - 将内存分配给c中的字符串数组

c - 获取结构的用户输入的问题

networking - 如果中间节点已用路径回复源,如何最小化 AODV 中 RREQ 数据包的泛洪?

mysql - 代理/中继 mysql 连接(以便服务器看起来在本地主机上)

c - 添加小部件时更新 Gtk 容器

java - 使用 Netty 创建一对多的 TCP 代理

使用已知共享 key 的 java SSL 套接字

c++ - Linux TCP 服务器问题 C++

java - Android Java 服务器套接字无法连接