протокол набора веб-сокетов и происхождение - PullRequest
0 голосов
/ 24 октября 2018

я использую эту библиотеку: https://github.com/gorilla/websocket как установить протокол и источник,

код:

func InitWSSClient(url1, protocol, origin string)  {
    u := url.URL{Scheme: "ws", Host: url1}

    fmt.Println(url1,u.String())
    d :=websocket.DefaultDialer


    //c, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
    c, _, err :=d.Dial(u.String(),nil)
    var limit int64 =1024 * 1024 *32

    if err != nil {
        log.Fatal("dial:", err)
    }
    c.SetReadLimit(limit)

    go readWSMessage(c)
    go sendWSmessage(c)

}

func readWSMessage(ws *websocket.Conn) error {
    for {
        _,message,err := ws.ReadMessage()
        if err != nil {
            log15.Error("receiveWebsocket ", "error", err)
            panic("error")

        }
        assignmentWebsocket(string(message))
    }
}

func sendWSmessage(ws *websocket.Conn) error {
    for {

        select {
        case params := <-WebsocketParams:
            fmt.Println("ws send messages", params)
            err :=ws.WriteMessage(websocket.TextMessage,[]byte(params))
            if err != nil {
                log15.Error("receiveWebsocket ", "error", err)
                panic("error")

            }
        }

    }

}

x.net.websocket установить эти элементы следующим образом:

websocket.Dial(url, protocol, origin)

как добиться этой функции в gorilla / websocket /, вот вам помощь.Я стараюсь много решений не работает.если вы знаете какие-либо решения,

нашел решение:

d := websocket.DefaultDialer
d.Subprotocols = []string{protocol}
header :=http.Header{}
header.Set("origin",origin)

1 Ответ

0 голосов
/ 25 октября 2018

я нашел решение, вы можете установить вот так

u := url.URL{Scheme: "ws", Host: url1}
d := websocket.DefaultDialer
d.Subprotocols = []string{protocol}
header := http.Header{}
header.Set("origin", origin)
c, _, err := d.Dial(u.String(), header)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...