2017-03-08 21:41
采纳率: 100%
浏览 4.1k

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



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


package main

import (

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 {


    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).
    解决 1 无用 1
    打赏 举报

相关推荐 更多相似问题