Golang:html 页面和 GO 通信
Golang: html pages and GO communication
除了模板之外,还有其他方法可以在 Go 和 html 页面之间进行通信吗?使用类似 postmessages 的东西 ?
场景 ::--> 流式 Twitter Api
流媒体 api 通话,在可用时更新新内容;
想用最新的内容更新网页,保持原来的内容。
想避免使用 NaCl... 因为它仅适用于 chrome
您可以使用 websockets (WebSocket@Wikipedia)。
这里有 2 个实现:
这里是其他 websocket 的详尽列表 packages/implementations:
使用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 轻松实现。没有什么棘手的。
除了模板之外,还有其他方法可以在 Go 和 html 页面之间进行通信吗?使用类似 postmessages 的东西 ?
场景 ::--> 流式 Twitter Api
流媒体 api 通话,在可用时更新新内容;
想用最新的内容更新网页,保持原来的内容。
想避免使用 NaCl... 因为它仅适用于 chrome
您可以使用 websockets (WebSocket@Wikipedia)。
这里有 2 个实现:
这里是其他 websocket 的详尽列表 packages/implementations:
使用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 轻松实现。没有什么棘手的。