Skip to content
A simple desktop chat application. A work in progress.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
README.md
chat.py

README.md

Chat

A simple desktop chat application. A work in progress.

I've used this project to learn more about socket programming and threading. It sends text messages across local networks in a GUI using a direct connection, no server in between. Besides some quality of life features, the next major features are to add asymmetric and symmetric encryption, include Hash-based Message Authentication Code (HMAC), and getting messages across the internet instead of just local networks.

For two users to chat, the users start up their own applications. One user sets their application to "Listen" mode and begins to listen on a desired port. The other user goes to "Connect" mode, then connects to the first user at their IP address and on the previously chosen port. The two users would need to agree on what port to connect on, and the connecting user would need to know the IP address of the listening user beforehand.

The chat application works best on Mac OS. There seem to be some problems on Windows and certain versions of Linux where messages are dropped, and on Linux the application freezes when the keepalive signal is lost, rather than just closing the connection.

You can’t perform that action at this time.