繁体   English   中英

通过UDP并发接收和发送数据

[英]Concurrent Receiving and Sending of Data over UDP

我正在尝试编写一个程序,该程序不断侦听UDP上的数据包,但还定期通过UDP发送数据(每隔x秒)。 棘手的部分是我接收到的数据将更改我发送的数据,因此我认为我不能简单地在单独的线程中执行一项任务。 我也承受不起任何阻碍。 我希望有人能给我正确的方向。 如果相关的话,我正在用Java编程,并且将一次与多个客户端发送和接收数据。

我认为我无法在单独的线程中简单地完成一项任务。

您仍然可以使用recv并在单独的线程中发送。 但是它们不能异步发生。 如果您发送的数据将取决于您接收的数据,那么您将无法异步进行发送/接收。 这是一个请求/响应模型。 仅在接收到请求后才发送响应。

我也承受不起任何阻碍

您仍然可以将套接字设置为非阻塞

虽然可以使用单独的线程,但是可以通过与套接字相关的简单超时来执行此单线程操作:

请在此处遵循示例:

设置套接字接收超时

当套接字抛出超时异常时,您将进行定期发送,然后返回到在套接字上接收数据。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM