116 lines
3.3 KiB
Rust
116 lines
3.3 KiB
Rust
mod chat;
|
|
|
|
mod db;
|
|
mod encrypting;
|
|
use async_std::io;
|
|
use chat::front_conn::listen_client;
|
|
|
|
use std::{
|
|
sync::{
|
|
mpsc,
|
|
mpsc::{Receiver, Sender},
|
|
},
|
|
thread,
|
|
};
|
|
fn main() -> io::Result<()> {
|
|
// listen_client();
|
|
|
|
enum ClientMessage {
|
|
Message(String),
|
|
Nope,
|
|
}
|
|
struct MFA{
|
|
encoded_msg: String
|
|
// TODO add User field
|
|
}; //Message from above
|
|
|
|
|
|
struct ClientHandler {
|
|
message: ClientMessage,
|
|
}
|
|
|
|
struct ServerHandler {
|
|
messages: Vec<MFA>
|
|
}
|
|
|
|
let (server_sender, server_receiver) : (Sender<ClientHandler>, Receiver<ClientHandler>) = mpsc::channel(); // server sender, server receiver
|
|
let (client_sender, client_receiver) : (Sender<ServerHandler>, Receiver<ServerHandler>) = mpsc::channel(); // client sender, client receiver
|
|
|
|
let client_listener = thread::spawn(move || {
|
|
let a = server_receiver.recv();
|
|
let it_will_drop = match a.message {
|
|
ClientMessage::Message(m) => {
|
|
println!("{}", &m);
|
|
m
|
|
},
|
|
ClientMessage::Nope => String::from("fail!!"),
|
|
};
|
|
server_sender.send(ClientHandler{message: ClientMessage::Message(String::from("I come from frontend"))});
|
|
});
|
|
|
|
let server_listener = thread::spawn(move || loop {
|
|
let m1 = String::from("It's a encoded message from Jim");
|
|
let m2 = String::from("It's a encoded message from one killer, who trying to find you");
|
|
|
|
let mut fromabove = ServerHandler{messages: vec![MFA(m1), MFA(m2)]};
|
|
|
|
for msg in fromabove.messages.iter() {
|
|
let msg = |MFA(lol)| ;
|
|
|
|
}
|
|
|
|
let mut a: ClientHandler = ClientHandler {
|
|
message: ClientMessage::Message(String::from("yup")),
|
|
}
|
|
let it_will_drop = match a.message {
|
|
ClientMessage::Message(m) => m,
|
|
ClientMessage::Nope => String::from("fail!!"),
|
|
};
|
|
});
|
|
Ok(())
|
|
}
|
|
/*
|
|
fn main() {
|
|
let server = TcpListener::bind("127.0.0.1:9001").unwrap();
|
|
println!("{:?}", &server);
|
|
for stream in server.incoming() {
|
|
spawn(move || {
|
|
println!("{:?}", &stream);
|
|
let mut websocket: WebSocket<std::net::TcpStream> = accept(stream.unwrap()).unwrap();
|
|
loop {
|
|
let msg = websocket.read_message().unwrap();
|
|
|
|
// We do not want to send back ping/pong messages.
|
|
if msg.is_binary() || msg.is_text() {
|
|
websocket.write_message(msg).unwrap();
|
|
}
|
|
}
|
|
});
|
|
}
|
|
}*/
|
|
/*
|
|
let (one, two) = keys;
|
|
|
|
let value =String::from_utf8_lossy(&*one);
|
|
let strVal = String::from(value);
|
|
let newbytes = strVal.into_bytes();
|
|
print!("{:?}", newbytes);
|
|
|
|
let newkey = PrivateKey::import(newbytes);
|
|
|
|
Let conn = Connection::open("myfile.db").unwrap();
|
|
|
|
conn.execute("CREATE TABLE person (
|
|
id INTEGER PRIMARY KEY,
|
|
name TEXT NOT NULL,
|
|
email TEXT NOT NULL
|
|
)", NO_PARAMS).unwrap();
|
|
let name: String = "Steve Example".to_string();
|
|
let email: String = "steve@example.org".to_string();
|
|
conn.execute("INSERT INTO person (name, email) VALUES (?1, ?2)",
|
|
&[&name, &email]).unwrap();
|
|
|
|
}
|
|
*/
|
|
//let mut std = cli::cli_base::get_stdin();
|