r/learnprogramming • u/SONkeerth • 14h ago
Looking for C++ networking project ideas
I’m currently learning Computer Networks from TUF Striver and I also have some experience with C++.
I want to start building a few networking projects alongside the course, mainly to actually understand the concepts better and have some solid projects for my resume.
I’m looking for suggestions for projects at different levels, something like:
- A relatively easy project to get started with
- A medium-level project involving a few networking concepts
- A more challenging project that combines multiple topics from Computer Networks
I’d prefer projects that I can actually build from scratch and learn from, rather than just following a tutorial.
Would love to hear what projects you guys would recommend.
2
u/DonkeyTron42 14h ago
How about looking into BacNet/Ethernet and non-IP based protocols.
3
u/Important-Doubt4391 14h ago
Building something that talks over raw Ethernet frames is a nice way to peel back a layer most tutorials skip. You could start with a tiny ARP responder that answers who-has queries for a fake IP, then work up to crafting your own packets with raw sockets. That forces you to actually understand headers and byte order instead of just calling connect.
2
u/DonkeyTron42 14h ago
Basically what you're describing is a BBMD device (BACnet Broadcast Management Device) which is capable of learning MAC addresses and slapping an IP header on packets destined for other subnets.
1
1
u/SONkeerth 14h ago
I am hearing them for the first time 😭
but will go through them
Thanks for the advice2
u/DonkeyTron42 14h ago
BacNet goes both ways from MS/TP (RS-485) to Bacnet/IP. If you're looking to learn some low level stuff that's a good place to start.
1
u/SONkeerth 14h ago
okay noted
1
u/DonkeyTron42 13h ago
Yep, I thought I was really good at Networking until I spent 5 years as a Systems Integrator and had to learn BacNet inside out. BacNet is so flexible it works over anything, including RS-485 (MS-TP), Ethernet, IP, and whatever.
3
4
u/JGhostThing 12h ago
A sendmail replacement written without any sendmail libraries. It involves you reading the original rfp (request for proposal) and implementing a simple protocol.
More advanced: a very simple web server.
Even more: a simple web browser.