使用 TcpListener 获取“无效端口值”

问题描述 投票:0回答:1

我试图让我的程序使用 tungstenite 和 TcpListener 运行 websocket 服务器,但不幸的是,它抛出了无效端口错误。

thread 'main' panicked at 'Invalid address format: Error { kind: InvalidInput, message: "invalid port value"
fn run_server(port: String) {
    let form_port = String::from(format!("{}:{}", String::from("127.0.0.1"),port));
    println!("Full Host: {}", form_port);
    let server = TcpListener::bind(form_port).unwrap(); //The error
    for stream in server.incoming() {
        spawn (move || {
            let mut websocket = accept(stream.unwrap()).unwrap();
            loop {
                let msg = websocket.read().unwrap();

                if msg.is_binary() || msg.is_text() {
                    websocket.send(msg).unwrap();
                }
            }
        });
    }
}

这就是给出错误的部分。但如果我手动设置主机,它就可以工作:

fn run_server(/* port: String */) {
    let form_port = String::from("127.0.0.1:1"); //Trying manually
    println!("Full Host: {}", form_port);
    let server = TcpListener::bind(form_port).unwrap();
    for stream in server.incoming() {
        spawn (move || {
            let mut websocket = accept(stream.unwrap()).unwrap();
            loop {
                let msg = websocket.read().unwrap();

                if msg.is_binary() || msg.is_text() {
                    websocket.send(msg).unwrap();
                }
            }
        });
    }
}
rust tcplistener
1个回答
0
投票

它给出了错误,因为默认情况下该端口有一个

\n
。我刚刚修剪了一下。

© www.soinside.com 2019 - 2024. All rights reserved.