shitty message client
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.

41 rinda
1.1 KiB

  1. use async_std::net::TcpListener;
  2. use async_std::net::TcpStream;
  3. use async_std::prelude::*;
  4. mod packet;
  5. pub type Result<T> = std::result::Result<T, Box<dyn std::error::Error>>;
  6. pub async fn server(port: u16) -> Result<()> {
  7. let listener = TcpListener::bind(format!("127.0.0.1:{}", &port)).await?;
  8. println!(
  9. "online as server at: {}:{}",
  10. listener.local_addr()?.ip(),
  11. port
  12. );
  13. let mut incoming = listener.incoming();
  14. while let Some(stream) = incoming.next().await {
  15. let mut stream = stream?;
  16. // handle stream
  17. println!("new stream from: {}", stream.peer_addr()?.ip());
  18. stream.write_all(b"hello world").await?;
  19. }
  20. Ok(())
  21. }
  22. pub async fn client(port: u16) -> Result<()> {
  23. let mut stream = TcpStream::connect(format!("127.0.0.1:{}", &port)).await?;
  24. println!(
  25. "connection established to: {}:{}",
  26. stream.peer_addr()?.ip(),
  27. port
  28. );
  29. /*let mut buf = vec![0u8; 1024];
  30. stream.read(&mut buf).await?;
  31. println!("{}", String::from_utf8_lossy(&mut buf));*/
  32. Ok(())
  33. }