https://github.com/torxed/raw_udp_chat_client
The most useless chat client you'll ever need. A raw socketed, peer-to-peer, UDP building, "chat" client.. It's a mess!
https://github.com/torxed/raw_udp_chat_client
Last synced: about 2 months ago
JSON representation
The most useless chat client you'll ever need. A raw socketed, peer-to-peer, UDP building, "chat" client.. It's a mess!
- Host: GitHub
- URL: https://github.com/torxed/raw_udp_chat_client
- Owner: Torxed
- Created: 2016-11-02T15:51:05.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2016-11-02T16:11:10.000Z (over 8 years ago)
- Last Synced: 2025-01-25T17:26:50.188Z (4 months ago)
- Language: Python
- Size: 5.86 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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!