服务器端代码
use std::net::{TcpListener, TcpStream};
use std::io::{Read, Write};
fn main() {
let listener = TcpListener::bind("127.0.0.1:8080").expect("Failed to bind to address");
for stream in listener.incoming() {
let stream = stream.expect("Failed to accept connection");
handle_connection(stream);
}
}
fn handle_connection(mut stream: TcpStream) {
let mut buffer = [0; 1024];
match stream.read(&mut buffer) {
Ok(len) => {
let msg = std::str::from_utf8(&buffer[..len]).expect("Failed to convert to string");
println!("Received: {}", msg);
}
Err(e) => eprintln!("Error reading from socket: {}", e),
}
}
客户端代码
use std::net::TcpStream;
use std::io::{Write};
fn main() {
let mut stream = TcpStream::connect("127.0.0.1:8080").expect("Failed to connect");
let msg = "Hello, server!";
match stream.write(msg.as_bytes()) {
Ok(_) => println!("Message sent successfully"),
Err(e) => eprintln!("Error sending message: {}", e),
}
}