Rust tokio TcpStream上的并发读/写
我有一个场景,线程1写入套接字,线程2从套接字读取。我在过去通过Rust tokio TcpStream上的并发读/写,rust,rust-tokio,Rust,Rust Tokio,我有一个场景,线程1写入套接字,线程2从套接字读取。我在过去通过split()完成了这项工作,它将使用TcpStream并返回ReadHalf/WriteHalf,然后可以整齐地传递给线程。我在1.39.0(东京-0.2.0-alpha.6)上遇到了一些问题 现在它已更改为pub fn split(&mut self)->(ReadHalf,WriteHalf)。这不允许将ReadHalf/WriteHalf(其生存期与流绑定)传递给单独的线程,而不会遇到混乱的生存期问题 普通的read()/w
split()
完成了这项工作,它将使用TcpStream并返回ReadHalf/WriteHalf,然后可以整齐地传递给线程。我在1.39.0(东京-0.2.0-alpha.6)上遇到了一些问题
pub fn split(&mut self)->(ReadHalf,WriteHalf)
。这不允许将ReadHalf/WriteHalf(其生存期与流绑定)传递给单独的线程,而不会遇到混乱的生存期问题read()/write()
变体采用&mut self
,这使得不可能进行并发读/写pub-fn-split(self)->(udpsocketrecvehalf,UdpSocketSendHalf)
)
还发现此相关(未解析)线程:。不确定使用TcpStream是否还能实现
谢谢你的建议
谢谢。请改用
tokio::io::split
free函数。这个变化是在年引入的。谢谢@edwardw,这就是我想要的。