mirror of https://github.com/gorilla/websocket.git
Add more information to README.md.
This commit is contained in:
parent
bc7ffd7c1e
commit
2903ebc236
51
README.md
51
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.
|
[WebSocket](http://www.rfc-editor.org/rfc/rfc6455.txt) protocol.
|
||||||
|
|
||||||
The project passes the server tests in the [Autobahn WebSockets Test
|
### Documentation
|
||||||
Suite](http://autobahn.ws/testsuite) using the application in the [examples/autobahn
|
|
||||||
subdirectory](https://github.com/gorilla/websocket/tree/master/examples/autobahn).
|
|
||||||
|
|
||||||
## Documentation
|
|
||||||
|
|
||||||
* [Reference](http://godoc.org/github.com/gorilla/websocket)
|
* [Reference](http://godoc.org/github.com/gorilla/websocket)
|
||||||
* [Chat example](https://github.com/gorilla/websocket/tree/master/examples/chat)
|
* [Chat example](https://github.com/gorilla/websocket/tree/master/examples/chat)
|
||||||
|
|
||||||
## Features
|
### Status
|
||||||
|
|
||||||
- Send and receive ping, pong and close control messages.
|
The Gorilla WebSocket package provides a complete and tested implementation of
|
||||||
- Limit size of received messages.
|
the [WebSocket](http://www.rfc-editor.org/rfc/rfc6455.txt) protocol. The
|
||||||
- Stream messages.
|
package API is stable.
|
||||||
- Specify IO buffer sizes.
|
|
||||||
- Application has full control over origin checks and sub-protocol negotiation.
|
|
||||||
|
|
||||||
## Installation
|
### Installation
|
||||||
|
|
||||||
go get github.com/gorilla/websocket
|
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
|
||||||
|
|
||||||
|
<table>
|
||||||
|
<tr>
|
||||||
|
<th></th>
|
||||||
|
<th><a href="http://godoc.org/github.com/gorilla/websocket">gorilla</a></th>
|
||||||
|
<th><a href="http://godoc.org/code.google.com/p/go.net/websocket">go.net</a></th>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<tr><td>Protocol support</td><td>RFC 6455</td><td>RFC 6455</td></tr>
|
||||||
|
<tr><td>Limit size of received message</td><td>Yes</td><td>No</td></tr>
|
||||||
|
<tr><td>Send pings and receive pongs</td><td>Yes</td><td>No</td></tr>
|
||||||
|
<tr><td>Send close message</td><td>Yes</td><td>No</td></tr>
|
||||||
|
<tr><td>Read message using io.Reader</td><td>Yes</td><td>No, see note</td></tr>
|
||||||
|
<tr><td>Write message using io.WriteCloser</td><td>Yes</td><td>No, see note</td></tr>
|
||||||
|
<tr><td>Encode, decode JSON message</td><td>Yes</td><td>Yes</td></tr>
|
||||||
|
</table>
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue