Rust TcpListener不响应外部请求

Rust TcpListener不响应外部请求,tcp,rust,Tcp,Rust,我的主要职能是: fn main() { let listener = TcpListener::bind("192.168.1.187:9527").unwrap(); println!("Listening for connections on port {}", 9527); for stream in listener.incoming() { match stream { Ok(stream) => { thread::spawn(

我的主要职能是:

fn main() {
let listener = TcpListener::bind("192.168.1.187:9527").unwrap();
println!("Listening for connections on port {}", 9527);
for stream in listener.incoming() {
    match stream {
        Ok(stream) => {
            thread::spawn(move || {
                let req_stream = &stream.try_clone().unwrap();
                let req = request::new(req_stream);
                let res = response::new(stream.try_clone().unwrap());
                handle_client(req, res)
            });
        }
        Err(e) => println!("Unable to connect: {}", e),
    }
}
}
我可以通过
127.0.0.1:9527
获得响应,但我无法从
192.168.1.187:9527
获得响应,这是我办公室中的公共ip,即使在部署服务器的计算机上执行此操作


rust
TcpListener
是否仅在本地主机上工作?如何使其接受外部请求?

ss-lnp
表示服务器仅绑定到环回地址-127.0.0.1。因此,客户端在尝试连接时在
192.168.1.187:9527
接收RST

尝试:

TcpListener::bind(“0.0.0.0:9527”).unwrap()

这将绑定到系统中的所有可用接口


不知道为什么“192.168.1.187”不起作用。但是,让我们试试“0.0.0.0”并查看
ss
输出。

连接是否超时?可能是您机器上的防火墙阻止了传入请求吗?@Prabhu it表示连接出错_REFUSED@Lukazoid我使用archlinux,我不记得安装过防火墙,而且,另一个node.js serve监听端口4001工作得很好。您可以执行
ss-lnp
并查看绑定吗?
tcp LISTEN 0 128*:9527*:*用户:((“伺服”,pid=2228,fd=3))
,这就解决了问题。还想知道为什么
127.0.0.1
不起作用。。。谢谢你的帮助~