websocket:如何建立在同一台client和同一台server创建多个连接

最近一直纠结到底能不能在同一台服务器上和同一个客户端建立多个通讯连接,经过查阅大量的网页资料+亲自实践证明确实可以这样做,但是他们如何通讯?下面是相关代码:

Server.go 。。。。。。。。。。。。。。。。。。。。。。。。

    package main
    import (
        "flag"
        "fmt"
        "log"
        "net/http"

        "github.com/gorilla/websocket"

        "tttest/pubvisit"
        "tttest/pubvisit/MapTable"
    )

    var upgrader = websocket.Upgrader{
            ReadBufferSize:  4096,
            WriteBufferSize: 4096,
    }

    func main() {

        var addr = flag.String("addr", ":8000", "http service address")

        http.HandleFunc("/Connection", Connection)
        fmt.Println("Test Server Start...")

        err := http.ListenAndServe(*addr, nil)
        if err != nil {
            log.Fatal("ListenAndServe: ", err)
        }

    }

    func Connection(w http.ResponseWriter, r *http.Request) {

        conn, err := upgrader.Upgrade(w, r, nil)
        if err != nil {
            log.Println("Upgrade:", err)
        }
        defer conn.Close()

        for {

            info := pubvisit.ReadFromMsg(conn)
            MapTable.SaveConn(conn, info.Name)

            switch info.Name {
            case "Jhon":
                var jres pubvisit.Message
                jres.Name = info.Name
                jres.Phone 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值