Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tricktux/network-exercises
Solution to the prothackers problems
https://github.com/tricktux/network-exercises
c catch2 cmake cmake-init linux makefile network-programming protohacker-solutions protohackers protohackers-solutions server socket-programming sockets zig
Last synced: 15 days ago
JSON representation
Solution to the prothackers problems
- Host: GitHub
- URL: https://github.com/tricktux/network-exercises
- Owner: tricktux
- Created: 2024-10-13T11:16:12.000Z (4 months ago)
- Default Branch: master
- Last Pushed: 2025-01-27T00:08:13.000Z (16 days ago)
- Last Synced: 2025-01-27T01:19:22.458Z (16 days ago)
- Topics: c, catch2, cmake, cmake-init, linux, makefile, network-programming, protohacker-solutions, protohackers, protohackers-solutions, server, socket-programming, sockets, zig
- Language: C
- Homepage: https://protohackers.com/leaderboard/0
- Size: 209 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# network-exercises
This is the network-exercises project.
## 0: Smoke Test
Deep inside Initrode Global's enterprise management framework lies a component that writes data to a server and expects to read the same data back. (Think of it as a kind of distributed system delay-line memory). We need you to write the server to echo the data back.
Accept TCP connections.
Whenever you receive data from a client, send it back unmodified.
Make sure you don't mangle binary data, and that you can handle at least 5 simultaneous clients.
Once the client has finished sending data to you it shuts down its sending side. Once you've reached end-of-file on your receiving side, and sent back all the data you've received, close the socket so that the client knows you've finished. (This point trips up a lot of proxy software, such as ngrok; if you're using a proxy and you can't work out why you're failing the check, try hosting your server in the cloud instead).
Your program will implement the TCP Echo Service from RFC 862.
# Building and installing
See the [BUILDING](BUILDING.md) document.
# Contributing
See the [CONTRIBUTING](CONTRIBUTING.md) document.
# Licensing