refactor: refine pkg net utils (#2720)

* refactor: refine pkg net utils

* fix: x

Co-authored-by: blizard863 <760076784@qq.com>
This commit is contained in:
Blizard
2021-12-28 21:14:57 +08:00
committed by GitHub
parent 0fb6aeef58
commit ea568e8a4f
6 changed files with 142 additions and 60 deletions

View File

@@ -5,8 +5,6 @@ import (
"fmt"
"net"
"net/http"
"net/url"
"time"
"golang.org/x/net/websocket"
)
@@ -77,27 +75,3 @@ func (p *WebsocketListener) Close() error {
func (p *WebsocketListener) Addr() net.Addr {
return p.ln.Addr()
}
// addr: domain:port
func ConnectWebsocketServer(addr string) (net.Conn, error) {
addr = "ws://" + addr + FrpWebsocketPath
uri, err := url.Parse(addr)
if err != nil {
return nil, err
}
origin := "http://" + uri.Host
cfg, err := websocket.NewConfig(addr, origin)
if err != nil {
return nil, err
}
cfg.Dialer = &net.Dialer{
Timeout: 10 * time.Second,
}
conn, err := websocket.DialConfig(cfg)
if err != nil {
return nil, err
}
return conn, nil
}