Book Description
Rust has steadily become one of the most important new programming languages in recent years. Like C or C++, Rust enables developers to write code that is low level enough which makes Rust code fast. And since Rust is memory-safe by design, it does not allow code that can crash on a null pointer exception. These properties make it a natural choice for writing low level networking applications. This book will enable developers to get started with writing networking applications with Rust.
This book will be divided in three main parts that will take you on an exciting journey of building a fully functional webserver. The book starts with a solid introduction to Rust and essential networking concepts. This will lay the foundation and the tone for the entire book. It dives deep into details of using Rust for networking software. Starting with client-server networking using sockets to IPv4/v6, DNS, TCP, UDP, you will also learn about serialising and deserialising data using serde. The book shows how to communicate with REST servers over HTTP and implement asynchronous network programming using Tokio stack. Given the importance of security for modern systems, you will see how Rust supports common primitives like TLS and public key cryptography.
After reading this book, you will be confident to use Rust to build effective networking software.