
Cet exemple montre comment remplacer quelques blocs lors d'un événement, par exemple "post avec l'identifiant 1 modifié" ( post-1-changed ) et déclencher le chargement du contenu via une requête ajax sur l'événement "chatter".
package main import ( "fmt" "net/http" "time" "github.com/r3labs/sse/v2" ) func main() { server := sse.New() _ = server.CreateStream("messages") mux := http.NewServeMux() mux.HandleFunc("/events", func(w http.ResponseWriter, r *http.Request) { // la security token := r.URL.Query().Get("token") if token != "secret" { http.Error(w, "invalid token", http.StatusUnauthorized) return } go func() { <-r.Context().Done() println("The client is disconnected here") return }() server.ServeHTTP(w, r) }) mux.HandleFunc("/chatroom", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte(`Hello from chat room`)) }) mux.HandleFunc("/index", func(w http.ResponseWriter, r *http.Request) { w.Write([]byte(`
one one one one chat body reloaded `)) }) go func() { i := 0 for { i++ time.Sleep(1 * time.Second) server.TryPublish("messages", &sse.Event{ ID: []byte(fmt.Sprintf("%d", i)), Event: []byte("post-1-changed"), Data: []byte(`Hello from sse ` + fmt.Sprintf("%d", i) + ``), }) server.TryPublish("messages", &sse.Event{ ID: []byte(fmt.Sprintf("%d", i)), Event: []byte("notifications"), Data: []byte(`Hello from post 2 sse ` + fmt.Sprintf("%d", i) + ``), }) server.TryPublish("messages", &sse.Event{ ID: []byte(fmt.Sprintf("%d", i)), Event: []byte("chatter"), Data: []byte(``), }) server.EventTTL = 5 * time.Second } }() http.ListenAndServe(":9999", mux) }
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!
Comment implémenter h5 pour glisser vers le haut et charger la page suivante côté Web
bleu cielcmyk
Utilisation de parseInt en Java
Qu'est-ce que Weidian
Situations courantes d'échec de l'index MySQL
Introduction aux noms de domaine de premier niveau couramment utilisés
Classement des dix principaux échanges de devises numériques
Quelles sont les méthodes pour se connecter au serveur vps