看了服务器推送,了解除了服务器轮询和websocket外还有一样东西叫做SSE(Server Send Event),非常好用而且简单。不过是个HTML5才支持的方法,兼容性方面打了折扣。不过的确是一种比较实用的技术。
直接贴代码,服务器用go,网上很多是用php的,对php不愿学的飘过...
有些坑先说说:
1、服务器端返回的内容一定要“data:”开头,api要求这样也没有什么好说的。
2、返回内容最后要两个换行 "\n\n"或者"\r\n\r\n"。如果不加换行也接收不了消息。
服务器go代码:
package main
import (
"net/http"
"log"
"fmt"
"time"
)
func jsonResponseHandler(w http.ResponseWriter,r *http.Request){
w.Header().Set("Access-Control-Allow-Origin", "*")//允许访问所有域
w.Header().Add(`Access-Control-Allow-Headers`,`Content-Type`)//header的类型
w.Heade