socket.io 相关:Example: A simple chat server(官方 实例)

时间:2022-05-04
本文章向大家介绍socket.io 相关:Example: A simple chat server(官方 实例),主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

摘自官方数据信息; 主要是通过例子去实现完成socket.io的数据流程机制,代码如下:

package main
import (
    "http"
    "log"
    "socketio"
)
func main() {
    sio := socketio.NewSocketIO(nil)
    sio.OnConnect(func(c *socketio.Conn) {
        sio.Broadcast(struct{ announcement string }{"connected: " + c.String()})
    })
    sio.OnDisconnect(func(c *socketio.Conn) {
        sio.BroadcastExcept(c,
            struct{ announcement string }{"disconnected: " + c.String()})
    })
    sio.OnMessage(func(c *socketio.Conn, msg socketio.Message) {
        sio.BroadcastExcept(c,
            struct{ message []string }{[]string{c.String(), msg.Data()}})
    })
    mux := sio.ServeMux()
    mux.Handle("/", http.FileServer("www/", "/"))
    if err := http.ListenAndServe(":8080", mux); err != nil {
        log.Fatal("ListenAndServe:", err)
    }
}