在Rust中實現Linux網絡編程,你可以使用標準庫中的std::net模塊
use std::io::{Read, Write};
use std::net::{TcpListener, TcpStream};
use std::thread;
fn handle_client(mut stream: TcpStream) {
let mut buffer = [0; 1024];
match stream.read(&mut buffer) {
Ok(_) => {
println!("接收到客戶端的數據: {}", String::from_utf8_lossy(&buffer[..]));
stream.write(b"Hello from server!").unwrap();
}
Err(e) => println!("無法讀取客戶端數據: {}", e),
}
}
fn main() {
let listener = TcpListener::bind("127.0.0.1:7878").unwrap();
println!("服務器已啟動,監聽端口7878");
for stream in listener.incoming() {
match stream {
Ok(stream) => {
thread::spawn(move || {
handle_client(stream);
});
}
Err(e) => println!("無法接受客戶端連接: {}", e),
}
}
}
use std::io::{Read, Write};
use std::net::TcpStream;
fn main() {
let mut stream = TcpStream::connect("127.0.0.1:7878").unwrap();
println!("已連接到服務器");
stream.write(b"Hello from client!").unwrap();
let mut buffer = [0; 1024];
match stream.read(&mut buffer) {
Ok(_) => {
println!("接收到服務器的數據: {}", String::from_utf8_lossy(&buffer[..]));
}
Err(e) => println!("無法讀取服務器數據: {}", e),
}
}
這些示例展示了如何使用Rust的std::net模塊創建一個簡單的TCP服務器和客戶端。你可以根據需要修改這些示例以滿足你的需求,例如使用UDP協議、實現更復雜的數據處理邏輯等。