当前位置: 首页>>代码示例>>Golang>>正文


Golang Context.Stream方法代码示例

本文整理汇总了Golang中github.com/David-Shibley/hello/Godeps/_workspace/src/github.com/gin-gonic/gin.Context.Stream方法的典型用法代码示例。如果您正苦于以下问题:Golang Context.Stream方法的具体用法?Golang Context.Stream怎么用?Golang Context.Stream使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在github.com/David-Shibley/hello/Godeps/_workspace/src/github.com/gin-gonic/gin.Context的用法示例。


在下文中一共展示了Context.Stream方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。

示例1: stream

func stream(c *gin.Context) {
	roomid := c.Param("roomid")
	listener := openListener(roomid)
	defer closeListener(roomid, listener)

	c.Stream(func(w io.Writer) bool {
		c.SSEvent("message", <-listener)
		return true
	})
}
开发者ID:David-Shibley,项目名称:goServerPractice,代码行数:10,代码来源:main.go

示例2: streamRoom

func streamRoom(c *gin.Context) {
	roomid := c.Param("roomid")
	listener := openListener(roomid)
	ticker := time.NewTicker(1 * time.Second)
	users.Add("connected", 1)
	defer func() {
		closeListener(roomid, listener)
		ticker.Stop()
		users.Add("disconnected", 1)
	}()

	c.Stream(func(w io.Writer) bool {
		select {
		case msg := <-listener:
			messages.Add("outbound", 1)
			c.SSEvent("message", msg)
		case <-ticker.C:
			c.SSEvent("stats", Stats())
		}
		return true
	})
}
开发者ID:David-Shibley,项目名称:goServerPractice,代码行数:22,代码来源:routes.go


注:本文中的github.com/David-Shibley/hello/Godeps/_workspace/src/github.com/gin-gonic/gin.Context.Stream方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。