Ask HN: How to learn about network programming (in Rust)?
Hello HN!
I would like to learn a bit more about network programming, because I have this idea of building a reverse proxy in Rust.
- I can read and write some basic Rust, but I'm struggling hard with all things related to networking (the mio library, command line tools such as nc, what really is a socket or tcp?)
- Are there any Rust-specific networking resources you can recommend for beginners?
- If not, any general networking resources? Preferably something accessible to somebody who doesn't know C.
- For what it's worth, I have about 8 years of experience with (modern) Java for web development.
Really looking forward to your thoughts and ideas, as I'm feeling a bit lost.
Thank you!
9 comments
[ 2.5 ms ] story [ 34.2 ms ] threadOther than that, I wrote this blog post about some useful specific Rust resources: https://world.hey.com/arthurcolle/some-useful-rust-resources...
Not a Rust expert, just someone that wrote a useful crate or two.
I'm definitely going to have a look at some of the resources from your blog post.
With regards to the standard documentation: I notice that I'm able to read the sentences, but I'm finding it a bit difficult to really turn it into a working project I actually understand.
(For instance: the docs give an example of how bind to a socket address, but I'm not sure how to morph this into a simple echo server, for example, which writes back whatever I sent to it. Feels a bit like I might be missing some general information about TCP and how to test it, how it relates to HTTP, etc.)
For example, with your specific question: https://chat.openai.com/share/0d922193-b9b6-4d51-85e8-d31c05...
Zero-shot correct solution to the example query. Based on your question, you could even just say "Can you explain X based on Y info that I found in the docs without writing a solution" if you truly just want to learn about the topic. Then with some iterative refinement of the results over a few back and forths, you can learn about the concept without necessarily having it write the code for you. Cheers!
I've been trying to have the free GPT-3.5 explain me things, but the results were a bit mixed (I caught it making a few things up earlier). But I might give GPT-4 a try, thanks!
https://www.amazon.com/Programming-Rust-Fast-Systems-Develop...
[0] https://www.manning.com/books/rust-in-action
[1] https://learning.accelerant.dev/