首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否可以同时执行sendto() recvfrom()?

是否可以同时执行sendto() recvfrom()?
EN

Stack Overflow用户
提问于 2016-06-08 21:51:37
回答 2查看 656关注 0票数 2

我用UDP套接字做了一个非常简单的TCP模拟网络应用程序。

但是,我想同时使用和调用sendto()recvfrom()函数来实现流水线,它使用称为“选择性重复”的协议。我的意思不是像send,wait,receive,send,wait,receive,...,我的意思是像send,receive,send,send,receive,receive这样的行为,没有任何调用sendto()recvfrom()的顺序,这是对这些函数的随机调用。

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

但是,在流水线实现中,sendto()recvfrom()函数同时执行。

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

EN

回答 2

Stack Overflow用户

发布于 2016-06-08 21:59:49

要同时做任何事情,你需要有多个线程。

一个线程将根据需要调用sendto,另一个线程将处于调用recvfrom的循环中。

票数 4
EN

Stack Overflow用户

发布于 2016-06-08 22:11:53

如果你想自己实现,就应该使用线程。但是如果你想使用一个内置的函数,可以通过7.2 this pdf一节中的select函数。它是一个强大的工具,也是最常用的工具。

它主要做的是跟踪准备好进行通信的连接。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37704482

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档