Я пытаюсь использовать unix сокеты для связи между node.js и ржавчиной. Я хотел бы слушать и отправлять сообщения с помощью скрипта ржавчины, однако буквально каждый пример, который я нашел в inte rnet, показывает, как это сделать (либо прослушать, либо отправить), либо использует сторонний инструмент.
Я пытаюсь отправить сообщение клиенту, как только он подключится, но он этого не делает. (останавливается после сообщения «Получил клиента»)
use std::os::unix::net::{UnixStream,UnixListener};
use std::io::prelude::*;
fn main() -> std::io::Result<()> {
let listener = UnixListener::bind("/tmp/rst.sock")?;
match listener.accept() {
Ok((socket, addr)) => {
let mut stream = UnixStream::connect("/tmp/rst.sock")?;
println!("Got a client: {:?} - {:?}", socket, addr);
stream.write_all(b"hello world")?;
let mut response = String::new();
stream.read_to_string(&mut response)?;
println!("{}", response);
},
Err(e) => println!("accept function failed: {:?}", e),
}
Ok(())
}