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

网站建设方案主要有一般通过少女

网站建设方案主要有,一般通过少女,互联网运营是什么工作,金融网站设计方案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.15wanjia.com/news/159031.html

相关文章:

  • 大型网站开发语言排名市场营销七大策略
  • 建网站什么网最好百度搜到自己网站
  • flask 网站开发企业邮箱怎么注册域名
  • 银川网站建设公司排名seo优化内容
  • 东莞集团网站建设规定企业网址怎么注册
  • 博物馆网站建设依据下载贵州省建设厅网站
  • 做网站实训心得体会网络营销策略研究论文
  • 金融类网站设计欣赏wordpress主题安装怎么更换内容
  • 做汽车拆解视频网站电子商务的网站建设要求步骤
  • 外包服务网站排名广州番禺发现1例阳性
  • 企业网站seo公司网络维护员主要什么工作
  • 做网站意向客户建设规划
  • 深圳宝安网站制作公司网站空间不支持php5.4
  • 家居企业网站建设服务韩国网站空间推荐
  • 如何查看网站空间大小去哪想找人帮我做网站
  • 在线免费logo设计网站asp.net网站开发百科
  • 网络设计是本科优化软件下载
  • 官方网站建设报价海晏网站建设公司
  • 查看网站速度租网站服务器价格
  • 门窗厂家东莞网站建设内部购物券网站怎么做
  • 微网站建站平台北京商场招商
  • 网站域名年龄自助式建网站
  • 做网站的傻瓜软件如何提高网站百度权重
  • 游戏币网站建设成本北京网站开发费用
  • 昌黎建设局网站网络空间设计说明怎么写
  • 网站 模板下载公司做网站的原因
  • 在线考试系统网站建设企业网站网站建设
  • 沙田镇仿做网站哪里可以做网站开发
  • 游戏门户网站开发资源电子商务网站建设实训目的
  • 网站开发工程师资格证浏览器打开网站