Guest User

Untitled

a guest
Jun 21st, 2018
70
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.97 KB | None | 0 0
  1. use std::env;
  2. use std::net::{SocketAddrV4, TcpStream};
  3. use std::fs::File;
  4. use std::io::{Read, Write};
  5. use std::time::Duration;
  6. use std::thread::sleep;
  7.  
  8. fn main() {
  9. let usage = "usgae: multi_client ip:port file multi_nums \nex: ./multi_client 10.0.0.68:5555 /dev/shm/idea 100\n";
  10.  
  11. let args:Vec<String> = env::args().collect();
  12.  
  13. if args.len() != 4 {
  14. panic!(usage);
  15. }
  16.  
  17. let server_addr:SocketAddrV4 = args[1].parse().unwrap();
  18. let file_path = &args[2];
  19. let multi_nums = &args[3].clone();
  20. let mut connects:Vec<TcpStream> = Vec::new();
  21.  
  22. let mut file = File::open(file_path).unwrap();
  23. let mut file_buf:[u8; 1024] = [0; 1024];
  24.  
  25. for _i in 0..multi_nums.parse::<u32>().unwrap(){
  26. connects.push(TcpStream::connect(server_addr).unwrap());
  27. }
  28.  
  29. sleep(Duration::new(60, 0));
  30.  
  31. while file.read(&mut file_buf).unwrap() != 0{
  32. for mut connect in &connects {
  33. connect.write(&file_buf).unwrap();
  34. }
  35. }
  36. }
Add Comment
Please, Sign In to add comment