dongmale0656 2017-03-08 21:41 采纳率: 100%
浏览 4519
已采纳

WebSocket连接失败:连接建立错误:net :: ERR_SSL_PROTOCOL_ERROR

当我试图通过wss://连接到WebSocket时,我为什么会得到这个错误,但是在ws://上却没问题呢?

错误:

WebSocket connection failed: Error in connection establishment: net::ERR_SSL_PROTOCOL_ERROR

代码:

package main

import (
    "fmt"
    "log"
    "net/http"
    //"encoding/json"
    "github.com/gorilla/websocket"
)

var clients map[*websocket.Conn]*Client

var upgrader = websocket.Upgrader{
    CheckOrigin : func(r *http.Request) bool{
        return true
    },
}

type Client struct{
    session_id  string
    block_id    uint
    module      string
}

func main(){
    var port uint = 8000

    http.HandleFunc("/", handleConnections)

    log.Printf("Websocket server started on: %d", port)
    err := http.ListenAndServe(fmt.Sprintf(":%d", port), nil)
    if err != nil {
        log.Fatal("ListenAndServe: ", err)
    }
}

func handleConnections(w http.ResponseWriter, r *http.Request){
    //  Upgrade initial GET request to a websocket
    ws, err := upgrader.Upgrade(w, r, nil)
    if err != nil {
        log.Print(err)

        return
    }

    defer ws.Close()

    log.Print("Connection established to IP: ", r.RemoteAddr)

    ...
}
  • 写回答

1条回答 默认 最新

  • dragon87836215 2017-03-08 21:49
    关注

    Your server is only listening for HTTP connections so you should use ws when making a connection. wss is "WebSocket Secure" which really just means a WebSocket connection that is served over HTTPS (TLS)

    From the RFC 6455

    A |wss| URI identifies a WebSocket server and resource name and
    indicates that traffic over that connection is to be protected via
    TLS (including standard benefits of TLS such as data confidentiality
    and integrity and endpoint authentication).
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?
  • ¥15 求daily translation(DT)偏差订正方法的代码
  • ¥15 js调用html页面需要隐藏某个按钮
  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 牛顿斯科特系数表表示