私はRustにソケットサーバーを作成しており、応答/送信コードを実装しています。主な問題は、メソッドread_to_string
は、改行が表示されるまで接続が閉じられるまで機能しないということです。例えばread_to_stringを使用しているときに新しい行を止める方法はありますか?
は、このコードでは、
use std::net::{TcpListener, TcpStream};
use std::io::Write;
use std::io::Read;
fn handle_client(stream: TcpStream) {
let conn = stream;
let conn = send(conn, "Hello!");
let mut conn = send(conn, "Bye!");
fn send(mut stream: TcpStream, s: &str) -> TcpStream {
let giver = format!("{}\n", s);
let _ = stream.write(giver.into_bytes().as_slice());
return stream;
}
let mut response: String = "".to_string();
let length = conn.read_to_string(&mut response); // ignore here too
println!("Message:\n{}\n\nLength: {}", response, length.unwrap());
}
サーバーは、任意のデータを提示する前に、接続解除を待ちます。応答が改行に解析するように
は、どのように私はそれを行うことができますか?
ありがとう、私は最近、Rustから始め、一般的な構文/方法論に慣れています。これは本当に役立ちます。 – f3rn0s