Rust中的HTTP服务器推送(流)客户端?

Rust中的HTTP服务器推送(流)客户端?,rust,http-streaming,Rust,Http Streaming,由于缺少更好的示例,假设我想编写一个简单的具有Rust的客户端,它可以建立连接并从中接收数据。这可能吗?我一直在关注那些看起来不错的框架,但我认为它们还没有这个功能?http客户端支持增量读取响应(就像实现rust的Reader特性的任何东西一样),但我找不到任何东西来增量解析响应,或者实现twitter的特定协议(以\r\n结束OBJEC) 也就是说,我能够实现一个快速的“肮脏”概念验证: 编辑:查看并使用它 我用这个小小的sinatra应用程序来测试它: require 'sinatra'

由于缺少更好的示例,假设我想编写一个简单的具有Rust的客户端,它可以建立连接并从中接收数据。这可能吗?我一直在关注那些看起来不错的框架,但我认为它们还没有这个功能?

http客户端支持增量读取响应(就像实现rust的
Reader
特性的任何东西一样),但我找不到任何东西来增量解析响应,或者实现twitter的特定协议(以
\r\n
结束OBJEC)

也就是说,我能够实现一个快速的“肮脏”概念验证:

编辑:查看并使用它

我用这个小小的sinatra应用程序来测试它:

require 'sinatra'
require 'json'

class Stream
  def each
    hash = { index: 0 }

    loop do
      hash[:index] += 1
      yield hash.to_json + "\r\n"
      sleep 0.5
    end
  end
end

get '/' do
  Stream.new
end

我似乎无法编译它。。。获取
无法为“openssl sys v0.3.5”运行自定义生成命令进程未成功退出:'/home/user/code/hello\u rust/target/build/openssl-sys-6694e080744fb2e2/build script build'(状态=101)--stderr线程“”在“找不到openssl库”时陷入恐慌,/home/user/.cargo/registry/src/github.com-1ec6299db9ec823/openssl-sys-0.3.5/build.rs:46
@Caballero您似乎缺少一些openssl依赖项。我建议您看一看“谢谢”,完全忽略了
libssl-dev
依赖项
#![feature(io)]

extern crate hyper;
extern crate "rustc-serialize" as rustc_serialize;

mod json_streamer;

use hyper::Client;

use std::old_io::BufferedReader;
use json_streamer::JsonObjectStreamer;

fn main() {
    let mut client = Client::new();
    let res = client.get("http://localhost:4567/").send().unwrap();

    for obj in BufferedReader::new(res).json_objects() {
        println!("object arrived: {}", obj);
    }
}
require 'sinatra'
require 'json'

class Stream
  def each
    hash = { index: 0 }

    loop do
      hash[:index] += 1
      yield hash.to_json + "\r\n"
      sleep 0.5
    end
  end
end

get '/' do
  Stream.new
end