Skip to content

websocket provides high- and low-level bindings for the browser's WebSocket API.

License

Notifications You must be signed in to change notification settings

gopherjs/websocket

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

61 Commits

Repository files navigation

websocket

GoDoc

Packages websocket and websocketjs provide high- and low-level bindings for the browser's WebSocket API (respectively).

The high-level bindings offer a Dial function that returns a regular net.Conn. It can be used similarly to net package.

conn, err:=websocket.Dial("ws://localhost/socket") // Blocks until connection is established.iferr!=nil{// handle error } buf:=make([]byte, 1024) n, err=conn.Read(buf) // Blocks until a WebSocket frame is received.doSomethingWithData(buf[:n]) iferr!=nil{// handle error } _, err=conn.Write([]byte("Hello!")) // ...err=conn.Close() // ...

The low-level bindings work with typical JavaScript idioms, such as adding event listeners with callbacks.

ws, err:=websocketjs.New("ws://localhost/socket") // Does not block.iferr!=nil{// handle error } onOpen:=func(ev*js.Object){err:=ws.Send([]byte("Hello!")) // Send a binary frame.// ...err:=ws.Send("Hello!") // Send a text frame.// ... } ws.AddEventListener("open", false, onOpen) ws.AddEventListener("message", false, onMessage) ws.AddEventListener("close", false, onClose) ws.AddEventListener("error", false, onError) err=ws.Close() // ...

Alternatives

About

websocket provides high- and low-level bindings for the browser's WebSocket API.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 5