mirror of https://github.com/poanetwork/quorum.git
c215989c10
Co-authored-by: amalraj.manigmail.com <amalraj.manigmail.com> Co-authored-by: Péter Szilágyi <peterke@gmail.com> Co-authored-by: Flash Sheridan <flash@pobox.com> Co-authored-by: Martin Holst Swende <martin@swende.se> Co-authored-by: Nguyen Kien Trung <trung.n.k@gmail.com> Co-authored-by: Felix Lange <fjl@twurst.com> Co-authored-by: Rob Mulholand <rmulholand@8thlight.com> Co-authored-by: Felföldi Zsolt <zsfelfoldi@gmail.com> Co-authored-by: soc1c <soc1c@users.noreply.github.com> Co-authored-by: Rafael Matias <rafael@skyle.net> Co-authored-by: gary rong <garyrong0905@gmail.com> Co-authored-by: Lucas Hendren <lhendre2@gmail.com> Co-authored-by: Ryan Schneider <ryanleeschneider@gmail.com> Co-authored-by: ywzqwwt <39263032+ywzqwwt@users.noreply.github.com> Co-authored-by: zcheng9 <zcheng9@hawk.iit.edu> Co-authored-by: zzy96 <zhou0250@e.ntu.edu.sg> Co-authored-by: kikilass <36239971+kikilass@users.noreply.github.com> Co-authored-by: Darrel Herbst <dherbst@gmail.com> Co-authored-by: Ross <9055337+Chadsr@users.noreply.github.com> Co-authored-by: Jeffery Robert Walsh <rlxrlps@gmail.com> Co-authored-by: Marius Kjærstad <sandakersmann@users.noreply.github.com> Co-authored-by: Piotr Dyraga <piotr.dyraga@keep.network> Co-authored-by: Guillaume Ballet <gballet@gmail.com> Co-authored-by: Michael Forney <mforney@mforney.org> Co-authored-by: Samuel Marks <807580+SamuelMarks@users.noreply.github.com> |
||
---|---|---|
.. | ||
AUTHORS | ||
LICENSE | ||
README.md | ||
client.go | ||
client_clone.go | ||
client_clone_legacy.go | ||
compression.go | ||
conn.go | ||
conn_write.go | ||
conn_write_legacy.go | ||
doc.go | ||
go.mod | ||
go.sum | ||
join.go | ||
json.go | ||
mask.go | ||
mask_safe.go | ||
prepared.go | ||
proxy.go | ||
server.go | ||
trace.go | ||
trace_17.go | ||
util.go | ||
x_net_proxy.go |
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 Test Suite using the application in the examples/autobahn subdirectory.
Gorilla WebSocket compared with other packages
github.com/gorilla | golang.org/x/net | |
---|---|---|
RFC 6455 Features | ||
Passes Autobahn Test Suite | Yes | No |
Receive fragmented message | Yes | No, see note 1 |
Send close message | Yes | No |
Send pings and receive pongs | Yes | No |
Get the type of a received data message | Yes | Yes, see note 2 |
Other Features | ||
Compression Extensions | Experimental | No |
Read message using io.Reader | Yes | No, see note 3 |
Write message using io.WriteCloser | Yes | No, see note 3 |
Notes:
- Large messages are fragmented in Chrome's new WebSocket implementation.
- The application can get the type of a received data message by implementing a Codec marshal function.
- 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.