diff --git a/README.md b/README.md index 42d2bc1..627e206 100644 --- a/README.md +++ b/README.md @@ -1,26 +1,49 @@ -# WebSocket +# Gorilla WebSocket -This project is a [Go](http://golang.org/) implementation of the +Gorilla WebSocket is a [Go](http://golang.org/) implementation of the [WebSocket](http://www.rfc-editor.org/rfc/rfc6455.txt) protocol. -The project passes the server tests in the [Autobahn WebSockets Test -Suite](http://autobahn.ws/testsuite) using the application in the [examples/autobahn -subdirectory](https://github.com/gorilla/websocket/tree/master/examples/autobahn). - -## Documentation +### Documentation * [Reference](http://godoc.org/github.com/gorilla/websocket) * [Chat example](https://github.com/gorilla/websocket/tree/master/examples/chat) -## Features +### Status -- Send and receive ping, pong and close control messages. -- Limit size of received messages. -- Stream messages. -- Specify IO buffer sizes. -- Application has full control over origin checks and sub-protocol negotiation. +The Gorilla WebSocket package provides a complete and tested implementation of +the [WebSocket](http://www.rfc-editor.org/rfc/rfc6455.txt) protocol. The +package API is stable. -## Installation +### Installation go get github.com/gorilla/websocket +### Protocol Compliance + +The Gorilla WebSocket package passes the server tests in the [Autobahn WebSockets Test +Suite](http://autobahn.ws/testsuite) using the application in the [examples/autobahn +subdirectory](https://github.com/gorilla/websocket/tree/master/examples/autobahn). + +### Gorilla WebSocket compared with other packages + + + + + + + + + + + + + + + +
gorillago.net
Protocol supportRFC 6455RFC 6455
Limit size of received messageYesNo
Send pings and receive pongsYesNo
Send close messageYesNo
Read message using io.ReaderYesNo, see note
Write message using io.WriteCloserYesNo, see note
Encode, decode JSON messageYesYes
+ +Note: The go.net io.Reader and io.Writer operate across WebSocket message +boundaries. Read returns when the input buffer is full or a message boundary is +encountered, Each call to Write sends a message. The Gorilla io.Reader and +io.WriteCloser operate on a single WebSocket message. +