Conf42: Golang 2022


HTTP Server on random available port in Go

Kazuki Higashiguchi
Software Engineer @ Autify

Kazuki Higashiguchi's LinkedIn account Kazuki Higashiguchi's twitter account

Imagine you want to start an HTTP server without specifying the port. For example, a temporary server for testing. How do you do that?

The answer is straightforward. Specify the port number to 0 like:

l, err := net.Listen(""tcp"", "":0"")

It’s an easy rule provided by the net package, but do you understand how Go binds a random port allocation. I’ll give you a clear understanding of what Go does inside the net package.

The presentation contains the following topics.

  • net, net/http packages
  • File descriptor
  • TCP, UDP
  • System calls

I think this presentation will give audiences not only a knowledge of Go, but also one of system calls.

Awesome conferences for

Priority access to all content

Community Discord

Exclusive promotions and giveaways