当前位置: 首页 > news >正文

嵌入式软件培训个人网站seo入门

嵌入式软件培训,个人网站seo入门,网站托管主要干点什么,西安知名高端网站建设服务企业event stream是属于http的一种通信方式,可以实现服务器主动推送。原理于客户端请求服务器之后一直保持链接,服务端持续返回结果给客户端。相比较于websocket有如下区别: 基于http的通信方式,在各类框架的加持下不需要开发人员自己…

event stream是属于http的一种通信方式,可以实现服务器主动推送。原理于客户端请求服务器之后一直保持链接,服务端持续返回结果给客户端。相比较于websocket有如下区别:

  1. 基于http的通信方式,在各类框架的加持下不需要开发人员自己维护链接状态,而websocket一般需要开发自己维护客户端链接(一般是一个map)
  2. 也是因为基于http,客户端请求之后便处于接收状态(发送信道关闭?),所以只能接收服务端推送,而不能客户端推送,比较适合用作通知等场景。

以gin框架为例实现:

func TestEventStream(c *gin.Context) {// 声明数据格式为event streamc.Writer.Header().Set("Content-Type", "text/event-stream")c.Writer.Header().Set("Cache-Control", "no-cache")c.Writer.Header().Set("Connection", "keep-alive")// 禁用nginx缓存,防止nginx会缓存数据导致数据流是一段一段的c.Writer.Header().Set("X-Accel-Buffering", "no")w := c.Writerflusher, _ := w.(http.Flusher)flusher.Flush()// 数据chanmsgChan := make(chan string)// 错误chanerrChan := make(chan error, 1)// 开启另一个协程处理业务,通过msgChan和errChan传递信息和错误go handle(msgChan, errChan)// 读取消息for {msg, ok := <-msgChanif !ok {break}fmt.Fprintf(w, "event: message\n")fmt.Fprintf(w, "data: %s\n\n", msg)flusher.Flush()}// 检查错误for {err, ok := <-errChanif !ok {return}fmt.Println(err)fmt.Fprintf(w, "event: error\n")fmt.Fprintf(w, "data: %s\n\n", err.Error())flusher.Flush()}
}//逻辑处理,读取文件中每一行的内容返回给eventstream
func handle(msgChan chan string, errChan chan error) {defer func() {if r := recover(); r != nil {errChan <- errors.New("system panic")}close(msgChan)close(errChan)}()file, err := os.Open("temp.txt")if err != nil {errChan <- errreturn}scanner := bufio.NewScanner(file)for scanner.Scan() {msgChan <- scanner.Text()}
}
http://www.tj-hxxt.cn/news/120963.html

相关文章:

  • 做网站刷东西培训学校管理制度大全
  • jsp网站开发的环境配置过程360营销
  • 做衣服的教程网站有哪些上海关键词排名推广
  • 注册了域名怎样做网站微信怎么引流营销呢
  • 放心网络营销定制如何做seo搜索优化
  • 成都营销型网站建设公司温州网站建设制作
  • 海外求购信息网电脑网络优化软件
  • 用css做商务网站的代码红河网站建设
  • 做网站搞友情链接百度指数搜索
  • 凡科做的网站好吗百度推广的费用
  • 彩票网站 模块网络营销岗位招聘信息
  • 购物网站创建网址百度刷排名
  • 农村电商网站建设计划书百度的关键词优化
  • 没有内容的网站应该怎么做杭州seo全网营销
  • 长沙做网站公众微信号搜索引擎哪个最好用
  • 建网站要学什么百度资讯
  • 朋友用我的vps做网站百度爱采购
  • 义乌网站制作多少钱品牌策划书
  • 深圳网站系统哪家强seo综合查询站长工具怎么用
  • 去哪找做网站的人中央新闻
  • 新浪云 wordpress 主题最新黑帽seo教程
  • 网站一般宽度重庆百度搜索优化
  • 新浪云上传wordpresswindows优化大师官方网站
  • 后期网站开发无锡百度推广代理公司
  • 网站开发接口文档模板免费网站制作平台
  • 怎么查看网站ftp地址浏览器大全网站
  • 企业网站建设的必要性和重要性windows优化大师自动安装
  • 网站哪里可以做微信小程序开发文档
  • 2018淘宝客网站开发成都网站seo性价比高
  • 销售公司运营方案seo排名哪家有名