gws v1.6.0 更新: 客户端支持通过代理拨号

仅引入 golang.org/x/net/proxy, 无其它依赖, 代码示例如下:

package main

import (
    "crypto/tls"
    "github.com/lxzan/gws"
    "golang.org/x/net/proxy"
    "log"
)

func main() {
    socket, _, err := gws.NewClient(&Handler{}, &gws.ClientOption{
        Addr:      "wss://example.com/connect",
        TlsConfig: &tls.Config{InsecureSkipVerify: true},
        NewDialer: func() (gws.Dialer, error) {
            return proxy.SOCKS5("tcp", "127.0.0.1:1080", nil, nil)
        },
    })
    if err != nil {
        log.Println(err.Error())
        return
    }
    socket.ReadLoop()
}

type Handler struct{}

func (h Handler) OnOpen(socket *gws.Conn) {}

func (h Handler) OnClose(socket *gws.Conn, err error) {}

func (h Handler) OnPing(socket *gws.Conn, payload []byte) {}

func (h Handler) OnPong(socket *gws.Conn, payload []byte) {}

func (h Handler) OnMessage(socket *gws.Conn, message *gws.Message) {}
开源不易, 感觉不错的话点个 star 支持吧
本作品采用《CC 协议》,转载必须注明作者和本文链接
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!