172 похожих чатов

Всем доброго времени суток) Пытаюсь изучить Tokio, написал тут простейший сервер extern

crate tokio;

use tokio::net::TcpListener;
use tokio::io;
use tokio::prelude::*;

use std::fs;

fn main()
{
let ans_status = "HTTP/1.1 200 OK\r\n\r\n";
let html_page: String = fs::read_to_string("../ussr.html").unwrap();
let ans_str: String = String::from(ans_status) + &html_page;

let addr = "127.0.0.1:8081".parse().unwrap();
let sck_listen: TcpListener = TcpListener::bind(&addr).unwrap();

let ussr_server = sck_listen.incoming()
.for_each(move |sck_client| {

let buf: &[u8] = b"hello";

let (read_side, write_side) = sck_client.split();
let write_future = io::write_all(write_side, buf)
.then(|res| {
print!("written: {:?}\n", res.is_ok());
Ok(())
});

tokio::spawn(write_future);
Ok(())
})
.map_err(|err| {
print!("err = {:?}\n", err);
});

print!("USSR server running on localhost: 8081...\n");

tokio::run(ussr_server);
print!("Gone.\n");
}

Он работает, но не пойму, как передать ans_str в запись
write_all(write_side, buf)

объясните, пожалуйста, а то всю голову сломал

1 ответов

8 просмотров

Если что, статические файлы можно читать на этапе компиляции: https://doc.rust-lang.org/std/macro.include_str.html

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Господа всем привет. Для того чтобы страница индексировалась с запросом под каждый город. Это нужно делать отдельные страницы для каждого города, или есть варианты по лучше?
Владимир
8
Хотел бы спросить у знающих, правильную ли я выбрал книгу для начала изучения ассемблера Юрова В.И ? Или есть более лучшие книги для начала обучения?
Botsman
31
Да блин, на тестах всё отлично было, теперь застрял на запуске. Как только не закавычивал, уже даже догуглился до того, чтобы string.format добавить, и на выводе получил строк...
Заха́р
2
$params = [ 'formid' => 'feedbackForm', 'formTpl' => '@CODE: <form class="form-validate" data-id="ajax_form"> <fieldset class="margin-bottom-md"> ...
Pathologic
1
Карта сайта