IT博客汇
  • 首页
  • 精华
  • 技术
  • 设计
  • 资讯
  • 扯淡
  • 权利声明
  • 登录 注册

    golng 的 websocket 使用

    李鹏发表于 2016-07-26 07:13:56
    love 0

    Go语言标准包里面没有提供对WebSocket的支持,但是在由官方维护的go.net子包中有对这个的支持,我将它Fork到了我的 git 上,方便以后使用,如果你想使用的话,可以执行:

    • go get github.com/khlipeng/websocket

    下面是代码示例:

    package main
    
    import (
        "github.com/khlipeng/websocket"
        "fmt"
        "log"
        "net/http"
    )
    
    func Socket(ws *websocket.Conn) {
        var err error
    
        for {
            var reply string
    
            if err = websocket.Message.Receive(ws, &reply); err != nil {
                fmt.Println("Can't receive")
                break
            }
    
            fmt.Println("Received back from client: " + reply)
    
            msg := "Received:  " + reply
            fmt.Println("Sending to client: " + msg)
    
            if err = websocket.Message.Send(ws, msg); err != nil {
                fmt.Println("Can't send")
                break
            }
        }
    }
    
    func main() {
        http.Handle("/", websocket.Handler(Socket))
    
        if err := http.ListenAndServe(":1234", nil); err != nil {
            log.Fatal("ListenAndServe:", err)
        }
    }
    

     



沪ICP备19023445号-2号
友情链接