This project has been deleted.

xpchatter

xpchatter Used AI

3 devlogs
17h 12m
Created by Jose M.

A (sort of) decentralized chat client for Windows XP.

This project is made up of three components:
- A central server that tells the client what chat servers are available, so there can be servers in many different locations and users can host their own servers.
- A chat server that handles receiving and sending messages between users and ensuring users don't have duplicate names
- A chat client that runs on Windows XP and connects to both the central and chat servers.

This was made as a submission for the Rewind YSWS.

Timeline

My windows XP VM broke out of nowhere, so it took me a while to fix before I could update my code and make this devlog.

In this update, I made the chat client much more reliable. When a chat server closes, the client returns to the home page. Also, the servers page refreshes every few seconds and closed servers are removed from the page to make user experience much better.

For some reason, windows uses UTF-16 under the hood while I like using UTF-8, so I had to fix conversion as any non-ASCII characters such as emojis and Greek or other language characters (e.g., lambda) were previously broken.

At this point, I have a fully functional chat client and server code that seems to be ready to deploy! I'll also think about making a web client so non-XP users can chat with windows XP users through their browsers!

I have now made the chat gui. It has been very difficult working with multithreading and asynchronous programming. There were many deadlocks, but it's finally stable.

Update attachment

I built this project using C++ and the Win32 API. The current architecture includes a central server which tells the program what servers are available. The client can then choose a server, and the server does all of the chat handling stuff. I am using TCP sockets and a custom protocol for communication between the central server, servers, and clients.

So far, the central server is about ready and is built to run on Linux. Currently, the chat server is WIP but it's coming along well.

Working with Windows' Win32 API is difficult but rewarding!

Update attachment