如何等待与套接字的连接并将它们转换为 Rust 中的 FusedStream

问题描述

我在 loop {} 周围有一个 futures::select!。我愿意

  1. 等待 Unix 套接字上的新连接。
  2. 等待在 1 中创建的 Unix 流之一上的新消息。(最好带有某种 uuid(连接后客户端直接在 1 中发送)附加到它)

我仍然没有正确理解 Stream 的概念,尤其是 futures-rs 的“FusedFuture”。我尝试使用 tokio's async-stream 创建我需要的流,但这不起作用,因为它没有实现 futures-rs 的 FusedFuture(这是我需要的,因为我在同一个选择中检查了其他流!那个好处/需要 FusedFutures is_terminated() 方法

我认为像 tokio_stream::StreamMap 这样的东西很有趣(键是 uuid,值是 Stream,它包含一个 tupel,其中包含在套接字上接收到的消息并引用 UnixStream 以便回写。

我真的很抱歉,我无法提供任何示例或类似内容来使问题变得不那么不清楚。我已经尝试了很多,但我无法更接近我的目标。我希望a写这个的方式有点可以理解?

是使用 std::os::unix::net::UnixListener 还是 tokio::net::UnixListener 悬而未决。我已经尝试了两者,但无法通过其中任何一个实现任何目标。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)