mirror of https://github.com/gorilla/websocket.git
2.0 KiB
2.0 KiB
Gorilla WebSocket
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 WebSockets Test Suite using the application in the examples/autobahn subdirectory.
Gorilla WebSocket compared with other packages
gorilla | go.net | |
---|---|---|
Protocol support | RFC 6455 | RFC 6455, see notes |
Limit size of received message | Yes | No |
Send pings and receive pongs | Yes | No |
Send close message | Yes | No |
Read message using io.Reader | Yes | No, see notes |
Write message using io.WriteCloser | Yes | No, see notes |
Encode, decode JSON message | Yes | Yes |
Notes:
- The go.net package does not handle fragmented messages.
- 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.