From 3ab783fbe165b787f7b604f5e73724c64a9bedd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ahmet=20Kaan=20G=C3=9CM=C3=9C=C5=9E?= <96421894+Tahinli@users.noreply.github.com> Date: Wed, 13 Sep 2023 15:03:55 +0300 Subject: [PATCH] done_i_think --- src/main.rs | 25 +++++++++---------------- 1 file changed, 9 insertions(+), 16 deletions(-) diff --git a/src/main.rs b/src/main.rs index 80da9b6..f18cc51 100644 --- a/src/main.rs +++ b/src/main.rs @@ -1,12 +1,13 @@ use std::net::{TcpListener, TcpStream}; use std::io::{Read, Write, self}; -use std::{env, thread}; +use std::env; use std::str::from_utf8; enum EnvArg { Client, Server, + Fail, } impl EnvArg { @@ -17,11 +18,10 @@ impl EnvArg Ok(mut socket) => { println!("Connected"); - let socket_clone = socket.try_clone().expect("Cloning Failed"); - thread::spawn(move || {Self::c_send(&socket_clone)}); let stay = true; while stay { + socket.write(take_string().as_bytes()).unwrap(); let mut data = [0 as u8; 1024]; match socket.read(&mut data) { @@ -48,19 +48,11 @@ impl EnvArg } return true; } - fn c_send(mut socket:&TcpStream) - { - let stay = true; - while stay - { - socket.write(take_string().as_bytes()).unwrap(); - } - } fn s_connect() -> bool { let socket = TcpListener::bind("localhost:2121"); - for stream in socket.expect("Panic").incoming() + for stream in socket.expect("Can't Check Connections").incoming() { match stream { @@ -123,7 +115,7 @@ fn take_arg() -> EnvArg }, _ => println!("Only one argument is allowed"), } - panic!(); + return EnvArg::Fail; } fn take_string() -> String @@ -138,7 +130,7 @@ fn client() println!("Client"); if EnvArg::c_connect() != true { - panic!(); + println!("Client Exit"); } } fn server() @@ -146,7 +138,7 @@ fn server() println!("Server"); if EnvArg::s_connect() != true { - panic!(); + println!("Server Exit"); } } @@ -156,6 +148,7 @@ fn main() match take_arg() { EnvArg::Client => client(), - EnvArg::Server => server() + EnvArg::Server => server(), + EnvArg::Fail => return } }