Chat client and protocol providing a base framework for expanding upon with additional features and security.
Go to file
Kayomn e6d1562b19 Merge remote-tracking branch 'origin/master' 2021-10-05 00:55:28 +01:00
.gitignore Initial commit 2021-09-30 00:21:18 +01:00
chattle.py Add Chattle protocol 2021-10-01 00:17:20 +01:00
client.py Replace Unix-style select logic with asynchronous IO for better Windows support 2021-10-05 00:55:17 +01:00
config.py Add usernames and command messages 2021-10-01 00:16:27 +01:00
readme.md Fill in readme 2021-10-01 00:25:00 +01:00
server.py Add usernames and command messages 2021-10-01 00:16:27 +01:00

readme.md

Chattle is a chat client and server designed to demonstrate the basics of implementing communication protocols over a network.

Out of the box, Chattle comes with:

  • JSON-encoded byte buffer protocol for transporting authored messages over a network.
  • Multi-client server capable of broadcasting messages between clients and acting as the communication authority.
  • Command framework built into the messaging protocol for sending slash commands over the network. Out of the box, only a /quit command is provided.

Chattle lacks any security layers to its protocol, its transport format could be more efficient, and user IPs are made visible to every connected client. It is intended to be used as a foundation for experimentation and learning.