https://github.com/gorilla/websocket.git

Joachim Bauch f99474eb97 Renamed constants to match Go style guidelines. 11 年之前
examples 9474333b60 Use new Upgrader API in examples 11 年之前
.gitignore 273ecadfca Initial commit 12 年之前
.travis.yml c50896b0f1 Update Travis config, Go 1.0 not supported. 12 年之前
LICENSE 273ecadfca Initial commit 12 年之前
README.md 03206ef31e Various improvements to README files. 11 年之前
client.go 707d1f6c6b Cleanup issues reported by golint. 12 年之前
client_server_test.go b118f62ec0 Add subprotocol negotiation to Dialer. 12 年之前
conn.go ccad3db007 Added helper function UnderlyingConn to retrieve net.Conn from Conn objects. 11 年之前
conn_test.go ccad3db007 Added helper function UnderlyingConn to retrieve net.Conn from Conn objects. 11 年之前
doc.go 1b37ccbb61 Fix small inconsistency in example. 12 年之前
json.go 707d1f6c6b Cleanup issues reported by golint. 12 年之前
json_test.go bc7ffd7c1e Fix test for deprecated JSON funcs. 12 年之前
server.go f99474eb97 Renamed constants to match Go style guidelines. 11 年之前
server_test.go 80c1e5a741 Add Subprotocols helper function. 12 年之前
util.go 273ecadfca Initial commit 12 年之前

README.md

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

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.

gorilla go.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