raw_udp_peer-to-peer_ncurses_chat_client
The most useless chat client you'll never need.
A raw socketed, peer-to-peer, home-brew UDP building, ncurses based - "chat" client..
It's a mess! You're a fool for using it!
But why?
As far as overengineering something goes, this is my prime project!
I needed a chat application for me and a friend (who sits in the same room),
I tried setting up a broadcast UDP socket, for whatever reason that didn't work
due to UDP binding to a socket still assumes server/client roles.
So I tried shared memory between processes, turns out writing to /dev/mem
randomly
wasn't such a great idea anywhere really. A few system-crash:es later.. I scrapped that..
So what about a database you might ask? Meh.. Don't want something clunky ruining my Feng Shui!
"But surely a server software to relay messages would be better?" - Sceptics... Pff.. Who needs those..
So I did what any bored engineer with curiosity would do (who am I kidding),
I based a interface on ncurses
, then I created a raw socket without any automated headers,
I then recieved, unpacked and displayed whatever comes in on localhost:5554.
Finally I built the most ugly UDP builder ever to send out messages on the same interface and port
making sure the checksum going out (Which will be detected in a second) is blocked from replaying in the interface.
And there you have it, a peer-to-peer, raw UDP, chat client for localhost!
I'm out of here!