Book description
Go combines the best parts of many other programming languages. It’s fast, scalable, and designed for high-performance networking and multiprocessing—in other words, it’s perfect for network programming.
Network Programming with Go is for developers ready to start leveraging Go’s ease of use for writing secure, readable, production-ready network code. Early chapters establish a foundation of networking and traffic-routing know-how upon which the rest of the book builds. You’ll put that knowledge to use as author Adam Woodbeck guides you through writing programs that communicate using TCP, UDP, Unix sockets, and other features that ensure reliable data transmission. As you progress, you’ll explore higher-level network protocols like HTTP and HTTP/2, then build applications that securely interact with servers, clients, and APIs over a network using TLS.
In addition, Woodbeck shows you how to create a simple messaging protocol, develop tools for monitoring network traffic, craft a custom web server, and implement best practices for interacting with cloud providers using their SDKs. Along the way, you’ll learn:
•IP basics for writing effective network programs, such as IPv4 and IPv6 multicasting, ports, and network address translation •How to use handlers, middleware, and multiplexers to build capable HTTP-based applications with minimal code •The OSI and TCP/IP models for layered data architectures •Methods for reading data from/writing data to a network connection, like the type-length-value encoding scheme •Tools for incorporating authentication and encryption into your applications using TLS, like mutual authentication •How to serialize data for storage or transmission in Go-friendly formats like JSON, Gob, XML, and protocol buffers •How to Leverage Go’s code generation support to efficiently communicate with gRPC-based network services
So get ready to take advantage of Go’s built-in concurrency, rapid compiling, and rich standard library. Because when it comes to writing robust network programs, it’s Go time.
Publisher resources
Table of contents
- Acknowledgments
- Introduction
-
Part I: Network Architecture
- Chapter 1: An Overview of Networked Systems
- Chapter 2: Resource Location and Traffic Routing
-
Part II: Socket-level Programming
- Chapter 3: Reliable TCP Data Streams
- Chapter 4: Sending TCP Data
- Chapter 5: Unreliable UDP Communication
- Chapter 6: Ensuring UDP Reliability
- Chapter 7: Unix Domain Sockets
-
Part III: Application-level Programming
- Chapter 8: Writing HTTP Clients
- Chapter 9: Building HTTP Services
- Chapter 10: Caddy: A Contemporary Web Server
- Chapter 11: Securing Communications with TLS
- Part IV : Service Architecture
- Index
Product information
- Title: Network Programming with Go
- Author(s):
- Release date: March 2021
- Publisher(s): No Starch Press
- ISBN: 9781718500884
You might also like
book
Network Programming with Go Language: Essential Skills for Programming, Using and Securing Networks with Open Source Google Golang
Dive into key topics in network architecture implemented with the Google-backed open source Go programming language. …
book
Hands-On System Programming with Go
Explore the fundamentals of systems programming starting from kernel API and filesystem to network programming and …
book
Programming Kubernetes
If you’re looking to develop native applications in Kubernetes, this is your guide. Developers and AppOps …
book
Powerful Command-Line Applications in Go
Whether you want to automate tasks, analyze data, parse logs, talk to network services, or address …