Creating a WebSocket server
The WebSocket protocol is a computer communications protocol that provides full-duplex (transmission of data in two directions simultaneously) communication channels over a single TCP connection. The WebSocket protocol is defined in RFC 6455 (https://tools.ietf.org/html/rfc6455) and uses ws://
and wss://
instead of http://
and https://
, respectively. Therefore, the client should begin a WebSocket connection by using a URL that starts with ws://
.
In this section, we are going to develop a small yet fully functional WebSocket server using the gorilla/websocket
(https://github.com/gorilla/websocket) module. The server implements the echo service, which means that it automatically returns the client input back to the client.
The https://pkg.go.dev/golang.org/x/net/websocket
package offers another way of developing WebSocket clients and servers. However, based on its documentation, pkg.go.dev/golang.org/x/net/websocket
lacks some features and...