Golang:html 页面和 GO 通信

Golang: html pages and GO communication

除了模板之外,还有其他方法可以在 Go 和 html 页面之间进行通信吗?使用类似 postmessages 的东西 ?

场景 ::--> 流式 Twitter Api

流媒体 api 通话,在可用时更新新内容;

想用最新的内容更新网页,保持原来的内容。

想避免使用 NaCl... 因为它仅适用于 chrome

您可以使用 websockets (WebSocket@Wikipedia)。

这里有 2 个实现:

golang.org/x/net/websocket

github.com/gorilla/websocket

这里是其他 websocket 的详尽列表 packages/implementations:

godoc.org websocket search

使用websockets or server sent events将事件从服务器推送到浏览器客户端。

使用 gorilla/websocket package for websockets. The x/net/websocket package is also available, but it's partial implementation of the protocol does not work with recent versions of Chrome.

服务器发送的事件非常简单,实际上不需要帮助程序包。请参阅 this example 以开始使用服务器发送的事件。

这与围棋无关。客户端,即浏览器必须能够处理持久连接。所以这里没有什么新鲜事。你有

  • 旧版浏览器的长轮询
  • 用于现代浏览器的 Websockets
  • 明天的服务器发送事件(也就是说,不包括 IE,它们甚至保持 现在)
  • Google 和 Apple 为移动平台提供的推送服务

这两种技术都可以在服务器端使用 Go 轻松实现。没有什么棘手的。