Skip to main content

Introducing new learning courses and educational videos from Apress. Start watching

  • Book
  • © 2022

Network Programming with Go Language

Essential Skills for Programming, Using and Securing Networks with Open Source Google Golang

Apress
  • Serves as both an essential learning guide and reference on Go networking

  • Includes a guide to build and connect to a complete web server using Go

  • Source code available at: https://github.com/Apress/network-prog-with-go-2e

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • ISBN: 978-1-4842-8095-9
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book USD 49.99
Price excludes VAT (USA)

This is a preview of subscription content, access via your institution.

Table of contents (17 chapters)

  1. Front Matter

    Pages i-xxv
  2. Architectural Layers

    • Jan Newmarch, Ronald Petty
    Pages 1-23
  3. Overview of the Go Language

    • Jan Newmarch, Ronald Petty
    Pages 25-34
  4. Socket-Level Programming

    • Jan Newmarch, Ronald Petty
    Pages 35-68
  5. Data Serialization

    • Jan Newmarch, Ronald Petty
    Pages 69-107
  6. Application-Level Protocols

    • Jan Newmarch, Ronald Petty
    Pages 109-130
  7. Managing Character Sets and Encodings

    • Jan Newmarch, Ronald Petty
    Pages 131-145
  8. Security

    • Jan Newmarch, Ronald Petty
    Pages 147-165
  9. HTTP

    • Jan Newmarch, Ronald Petty
    Pages 167-197
  10. Templates

    • Jan Newmarch, Ronald Petty
    Pages 199-211
  11. A Complete Web Server

    • Jan Newmarch, Ronald Petty
    Pages 213-234
  12. HTML

    • Jan Newmarch, Ronald Petty
    Pages 235-240
  13. XML

    • Jan Newmarch, Ronald Petty
    Pages 241-249
  14. Remote Procedure Call

    • Jan Newmarch, Ronald Petty
    Pages 251-262
  15. REST

    • Jan Newmarch, Ronald Petty
    Pages 263-289
  16. WebSockets

    • Jan Newmarch, Ronald Petty
    Pages 291-311
  17. Gorilla

    • Jan Newmarch, Ronald Petty
    Pages 313-331
  18. Testing

    • Jan Newmarch, Ronald Petty
    Pages 333-346
  19. Back Matter

    Pages 347-377

About this book

Dive into key topics in network architecture implemented with the Google-backed open source Go programming language. Networking topics such as data serialization, application level protocols, character sets and encodings are discussed and demonstrated in Go. This book has been updated to the Go version 1.18 which includes modules, generics, and fuzzing along with updated and additional examples.


Beyond the fundamentals, Network Programming with Go, Second Edition covers key networking and security issues such as HTTP protocol changes, validation and templates, remote procedure call (RPC) and REST comparison, and more. Additionally, authors Ronald Petty and Jan Newmarch guide you in building and connecting to a complete web server based on Go. Along the way, use of a Go web toolkit (Gorilla) will be employed.
 

This book can serve as both an essential learning guide and reference on networking concepts and implementation in Go.  Free source code is available on Github for this book under Creative Commons open source license.
 

You will:
  • Perform network programming with Go (including JSON and RPC)
  • Understand Gorilla, the Golang web toolkit, and how to use it
  • Implement a microservice architecture with Go
  • Leverage Go features such as generics, fuzzing
  • Master syscalls and how to employ them with Go

Keywords

  • Go
  • Go 2
  • network
  • programming
  • code
  • software
  • professionals
  • language
  • source
  • development
  • Google
  • open source
  • code
  • Golang
  • cloud

Authors and Affiliations

  • Oakleigh, Australia

    Jan Newmarch

  • San Francisco, USA

    Ronald Petty

About the authors

Jan Newmarch, Ph.d., is Head of Higher Education (ICT), Box Hill Institute, Adjunct Senior Research Fellow, Faculty of IT, Monash University, and Adjunct Lecturer, School of Computing and Mathematics Charles Sturt University.

Ronald Petty is a Principal Consultant at RX-M LLC.  His programming expertise is in open source languages like Go, Ruby and more.  He currently is working on a number of Go code projects on Github.

Bibliographic Information

Buying options

eBook USD 39.99
Price excludes VAT (USA)
  • ISBN: 978-1-4842-8095-9
  • Instant PDF download
  • Readable on all devices
  • Own it forever
  • Exclusive offer for individuals only
  • Tax calculation will be finalised during checkout
Softcover Book USD 49.99
Price excludes VAT (USA)