fn main() -> std::io::Result<()> {
use {
interprocess::local_socket::{prelude::*, GenericFilePath, GenericNamespaced, Stream},
std::io::{prelude::*, BufReader},
};
let name = if GenericNamespaced::is_supported() {
"example.sock".to_ns_name::<GenericNamespaced>()?
} else {
"/tmp/example.sock".to_fs_name::<GenericFilePath>()?
};
let mut buffer = String::with_capacity(128);
let mut conn = BufReader::new(Stream::connect(name)?);
conn.get_mut().write_all(b"Hello from client!\n")?;
conn.read_line(&mut buffer)?;
drop(conn);
print!("Server answered: {buffer}");
Ok(())
}