mirror of
				https://github.com/go-kratos/kratos.git
				synced 2025-10-30 23:47:59 +02:00 
			
		
		
		
	
		
			
	
	
		
			33 lines
		
	
	
		
			530 B
		
	
	
	
		
			Go
		
	
	
	
	
	
		
		
			
		
	
	
			33 lines
		
	
	
		
			530 B
		
	
	
	
		
			Go
		
	
	
	
	
	
|   | package handler | ||
|  | 
 | ||
|  | import ( | ||
|  | 	"log" | ||
|  | 	"net/http" | ||
|  | 
 | ||
|  | 	"github.com/gorilla/websocket" | ||
|  | ) | ||
|  | 
 | ||
|  | var upgrader = websocket.Upgrader{} | ||
|  | 
 | ||
|  | func WsHandler(w http.ResponseWriter, r *http.Request) { | ||
|  | 	c, err := upgrader.Upgrade(w, r, nil) | ||
|  | 	if err != nil { | ||
|  | 		log.Print("upgrade:", err) | ||
|  | 		return | ||
|  | 	} | ||
|  | 	defer c.Close() | ||
|  | 	for { | ||
|  | 		mt, message, err := c.ReadMessage() | ||
|  | 		if err != nil { | ||
|  | 			log.Println("read:", err) | ||
|  | 			break | ||
|  | 		} | ||
|  | 		log.Printf("recv: %s", message) | ||
|  | 		err = c.WriteMessage(mt, message) | ||
|  | 		if err != nil { | ||
|  | 			log.Println("write:", err) | ||
|  | 			break | ||
|  | 		} | ||
|  | 	} | ||
|  | } |