Clone this repo:
  1. c3dd95a build: use build matrix; drop Go <= 1.10 (#629) by Matt Silverlock · 6 months ago master
  2. 78ab81e docs: clarify that sub protocols are not set via responseHeader arg. by Matt Silverlock · 6 months ago
  3. 873e67e Fix how the client checks for presence of Upgrade: websocket, Connection: upgrade (#604) by Ran Benita · 6 months ago
  4. b65e629 build: clean up go.sum (#584) by Matt Silverlock · 11 months ago v1.4.2
  5. 8c288dc docs: Fix typo. (#568) by Jon Gillham · 11 months ago

Gorilla WebSocket

GoDoc CircleCI

Gorilla WebSocket is a Go implementation of the WebSocket protocol.

Documentation

Status

The Gorilla WebSocket package provides a complete and tested implementation of the WebSocket protocol. The package API is stable.

Installation

go get github.com/gorilla/websocket

Protocol Compliance

The Gorilla WebSocket package passes the server tests in the Autobahn Test Suite using the application in the examples/autobahn subdirectory.

Gorilla WebSocket compared with other packages

Notes:

  1. Large messages are fragmented in Chrome's new WebSocket implementation.
  2. The application can get the type of a received data message by implementing a Codec marshal function.
  3. The go.net io.Reader and io.Writer operate across WebSocket frame boundaries. Read returns when the input buffer is full or a frame boundary is encountered. Each call to Write sends a single frame message. The Gorilla io.Reader and io.WriteCloser operate on a single WebSocket message.