赞
踩
cargo new s1 && cd s1
cargo new tcpserver
cargo new tcpcline
运行项目server
cargo run -p tcpserver
打开新cmd运行项目cline
# cargo run -p tcpcline
[workspace]
members = ["tcpserver", "tcpcline"]
use std::io::{Read, Write}; use std::net::TcpListener; use std::str; // 引入字符串转换包 fn main() { // 设置监听端口和地址 let listener = TcpListener::bind("127.0.0.1:3000").unwrap(); println!("running on port 3000...."); // 请求进来 for stream in listener.incoming() { // 设置为可变 let mut stream = stream.unwrap(); println!(" Connection established"); // 设置接收缓冲区 let mut buffer = [0; 1024]; // 服务端接收数据 stream.read(&mut buffer).unwrap(); // println!( // "Request from cline:{:?}", // str::from_utf8(&buffer).unwrap() // 转换为utf8格式 // ); // 服务端返回数据 stream.write(&mut buffer).unwrap(); } }
use std::io::{Read, Write}; use std::net::TcpStream; use std::str; // 引入字符串转换包 fn main() { println!("Hello, world!"); let mut stream = TcpStream::connect("127.0.0.1:3000").unwrap(); // 转换为字节类型,向服务器发送 stream.write("Hello".as_bytes()).unwrap(); let mut buffer = [0; 5]; // 注意括号里格式 // 读取服务器返回的消息 stream.read(&mut buffer).unwrap(); println!( "Response from server:{:?}", str::from_utf8(&buffer).unwrap() // 转换为utf8格式 ); }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。