You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
the deeper problem with x/net/websocket is that it has the wrong API. It puts an io.Reader/Writer interface on top of what is fundamentally a message-based protocol.
If someone wants to use a message-based API, there's always gopherjs/websocket/websocketjs.
Having a net.Conn (probably) makes it easier for GopherJS users to write isomorphic Go (code that's the same for the browser and the server). And that aside, having an official net.Conn implementation means that people that want one don't have to write their own on top of gopherjs/websocket/websocketjs, it's just there.
If someone wants to use a message-based API, there's always gopherjs/websocket/websocketjs.
Yes but it is callback based which makes it frustrating to use.
Having a net.Conn (probably) makes it easier for GopherJS users to write isomorphic Go (code that's the same for the browser and the server). And that aside, having an official net.Conn implementation means that people that want one don't have to write their own on top of gopherjs/websocket/websocketjs, it's just there.
I agree isomorphic code is nice so I modified my WebSocket library to support WASM.
Once Go 1.13 is supported by GopherJS, I think it's best to recommend my library instead which provides a nicer API for when you don't need a net.Conn but also provides a net.Conn wrapper, all with the exact same API for targeting WASM or any other "normal" Go target.
Activity
nhooyr commentedon Sep 20, 2019
Not sure what can be done about it now other than making a v2.
theclapp commentedon Sep 21, 2019
If someone wants to use a message-based API, there's always gopherjs/websocket/websocketjs.
Having a
net.Conn
(probably) makes it easier for GopherJS users to write isomorphic Go (code that's the same for the browser and the server). And that aside, having an officialnet.Conn
implementation means that people that want one don't have to write their own on top of gopherjs/websocket/websocketjs, it's just there.nhooyr commentedon Sep 22, 2019
Yes but it is callback based which makes it frustrating to use.
I agree isomorphic code is nice so I modified my WebSocket library to support WASM.
See coder/websocket#142
Once Go 1.13 is supported by GopherJS, I think it's best to recommend my library instead which provides a nicer API for when you don't need a net.Conn but also provides a net.Conn wrapper, all with the exact same API for targeting WASM or any other "normal" Go target.
nhooyr commentedon Nov 22, 2019
Going to close as it has been a while and I'm not sure if this is relevant anymore.