use std::net::TcpStream;
use std::io::{Read, Write};
fn main() -> std::io::Result<()> {
// 建立TCP连接
let mut stream = TcpStream::connect("127.0.0.1:8080")?;
// 发送消息
let message = "Hello, server!";
stream.write_all(message.as_bytes())?;
// 接收响应
let mut buffer = [0; 1024];
let bytes_read = stream.read(&mut buffer)?;
let response = String::from_utf8_lossy(&buffer[..bytes_read]);
println!("Received: {}", response);
Ok(())
}
TcpStream
相关方法作用
TcpStream::connect(addr: impl ToSocketAddrs)
:用于连接到指定地址的TCP服务器,返回一个TcpStream
实例。如果连接失败,会返回一个io::Error
。
stream.write_all(data: &[u8])
:将指定字节数组数据写入到TCP流中。它会尝试写入所有数据,直到成功或遇到错误。如果成功,返回Ok(())
;否则返回io::Error
。
stream.read(buf: &mut [u8])
:从TCP流中读取数据到给定的字节数组中。返回值是实际读取的字节数。如果读取时遇到错误,会返回io::Error
。