首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WebSocket与GopherJS的兼容性

WebSocket与GopherJS的兼容性
EN

Stack Overflow用户
提问于 2016-10-24 06:42:53
回答 1查看 325关注 0票数 0

寻找一些关于如何在本机Go执行平台和通过WebSocket实现WebSocket客户端的方法的一般指导。

GopherJS似乎有两个WebSocket库,一个在gopherjs/websocket,一个在goxjs/websocketgoxjs/websocket似乎是“同构的”,这意味着它应该在GopherJS中工作,同时保持与golang.org/x/net/websocket兼容的API。这将在这两个执行环境中提供兼容性,这很好,但我不确定这是否是最好的解决方案。gopherjs/websocket似乎不能在浏览器执行环境之外工作,所以它是不可能的。

目前,本机Go应用程序最受推荐的WebSocket实现似乎是gorilla/websocket。我想使用它,因为它似乎有一个好的API,它似乎相当全面的功能。如果导入gopherjs build,我可以成功地运行gorilla/websocket,但我担心它会在JavaScript环境中失败,或者会被编译成不使用浏览器的WebSocket API实现的JavaScript。

对于哪个库适合哪个场景,我没有看到太多的指导,所以希望这可以帮助比较和对比,并为做出一个好的选择提供必要的方向。

EN

回答 1

Stack Overflow用户

发布于 2016-10-24 15:37:47

我没有任何关于你应该做什么的指导,但我可以分享以下事实:

大猩猩/ Websocket包是TCP连接上Websocket协议的一个实现。因为浏览器应用程序不能直接访问TCP连接,所以大猩猩/websocket包将不会在浏览器中运行。

大猩猩/websocket包和gopherjs/websocket包在模型上存在差异。WebSocket协议是基于消息的,大猩猩/websocket包围绕消息公开一个API。gopherjs/websocket提供了使基于消息的WebSocket协议看起来像字节流的绑定。消息不会在gopherjs/websocket中公开。

x/net/websocket包几乎被抛弃了。有些长期存在的与遵守协议有关的问题还没有被解决。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40212148

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档