rust-tokio

    3热度

    1回答

    我有多个线程执行一些繁重的操作,我需要在工作中使用客户端。我使用Hyper v0.11作为HTTP客户端,我想重新使用这些连接,因此我需要共享相同的hyper::Client以保持打开连接(在keep-alive模式下)。 客户端不能共享线程(它不实现Sync或Send)。这里一个小片段的代码我试图做的事: let mut core = Core::new().expect("Create Cli

    4热度

    1回答

    我正在使用rust-websocket和基于Tokio的异步系统在Rust中编写websocket服务器。我可以为客户提供服务,但是,我无法弄清楚如何在客户端之间共享可变状态。这里是一些(部分)代码演示此问题: let mut core = Core::new().unwrap(); let handle = core.handle(); let server = Server::bind("

    1热度

    1回答

    我试图实现与超v0.11内置客户端重试,但我不能找到一种方法来重新用于不同的尝试的请求: #[macro_use] extern crate hyper; extern crate futures; extern crate tokio_core; use futures::Future; use hyper::{Client, Body, Uri, StatusCode}; us

    3热度

    1回答

    建立连接(220服务就绪)后,SMTP服务器应显示欢迎消息,这是客户端开始发送命令的信号。这似乎与tokio-proto的请求 - 响应范式相冲突。 我可以想象协议可以完全颠倒,如服务器发送请求和客户端响应(不建议使用TURN),但目前我只关心连接时的欢迎消息,又名横幅。之后,客户端请求=>服务器响应将被维护。 我一直试图弄清楚在哪里挂钩,但bind_server,bind_transport对我

    1热度

    1回答

    我想写一个TCP客户端来打印传入的消息。我想出了下面的代码: extern crate bytes; extern crate futures; extern crate tokio_core; extern crate tokio_io; use futures::Future; use tokio_core::net::TcpStream; use tokio_core::rea

    1热度

    1回答

    我在Iron handler中创建一个客户端请求。我如何重用Tokio的Core和Hyper的Client?我使用超0.11.0和tokio-core 0.1。 fn get_result(req: &mut Request) -> IronResult<Response> { let mut payload = String::new(); req.body.read_to_

    1热度

    1回答

    我想知道如何使用tokio-proto箱,特别是在建立连接时进行的握手。我已经得到了例如从official documentation工作: impl<T: AsyncRead + AsyncWrite + 'static> ClientProto<T> for ClientLineProto { type Request = String; type Response = S

    1热度

    1回答

    如何使用异步Hyper(> = 0.11)为HTTP请求设置超时? 下面是代码没有超时的例子:在回答我自己的工作代码示例的问题,基于由seanmonstar提供给Hyper Guide/General Timeout链接 extern crate hyper; extern crate tokio_core; extern crate futures; use futures::Futur

    0热度

    1回答

    我试图实现从dns_parser包创建dns_parser::Packet的tokio_core::net::UdpCodec。该实现目前这个样子: pub struct MdnsCodec; impl UdpCodec for MdnsCodec { type In = dns_parser::Packet; type Out = (SocketAddr, dns_par

    1热度

    1回答

    我正尝试使用Tokio箱子编写一个简单的TCP客户端。我的代码是非常接近this example减去TLS: extern crate futures; extern crate tokio_core; extern crate tokio_io; use futures::Future; use tokio_core::net::TcpStream; use tokio_core::