Go to file
michael-bailey fc402438f8 moved protocol crate to foundation, created helper functions for encoding and decoding 2024-04-18 12:47:36 +01:00
.github/workflows merge develop into master (#20) 2023-12-01 21:48:28 +00:00
foundation moved protocol crate to foundation, created helper functions for encoding and decoding 2024-04-18 12:47:36 +01:00
protocol moved protocol crate to foundation, created helper functions for encoding and decoding 2024-04-18 12:47:36 +01:00
server removed scripting code 2024-04-18 12:47:05 +01:00
.dockerignore merge develop into master (#20) 2023-12-01 21:48:28 +00:00
.gitignore merge develop into master (#20) 2023-12-01 21:48:28 +00:00
Cargo.toml migrated tp prost instead of protobuf crate 2024-04-14 13:21:43 +01:00
Dockerfile merge develop into master (#20) 2023-12-01 21:48:28 +00:00
LICENSE Update LICENSE 2021-02-08 21:12:10 +00:00
README.md Update README.md (#16) 2021-08-03 21:54:04 +01:00
rustfmt.toml merge develop into master (#20) 2023-12-01 21:48:28 +00:00

README.md

Rust-chat-server

A Chat server writen in rust to allow communication between peers.


Features:

  • implemented:
    • json based API.
    • Server introspection.
    • Peer discovery.
    • sending messages to connected clients.
  • todo:
    • Encryption to server.
    • server to server meshing.
    • asynchronous client managment instead of threaded approach.

Goals:

  • Learn the rust programming lanaguage.
    • Ownership: how that affects normal programming styles.
    • Borrowing and references: how this affects shared state.
    • Lifetimes: how this affects data retention and sharing.
  • Learn how to create networked programs.
    • Application level protocol: how to get two programs to communicate via TCP sockets.
    • Socket handling: Discovering ways to handle multiple socket connections without affecting performance.
  • Learn common encryption protocols.
    • Adding support for encrypted sockets.
    • Pros and cons of symetric and asymetric encryption.
    • resolving common encryption flaws

Questions: For questions please add a issue with the question label. It will eventually be responded to