Skip to content

Commit

Permalink
wss test
Browse files Browse the repository at this point in the history
  • Loading branch information
fish-tennis committed Feb 26, 2024
1 parent bda56d9 commit 9c6bcf3
Show file tree
Hide file tree
Showing 4 changed files with 67 additions and 6 deletions.
18 changes: 18 additions & 0 deletions example/cert.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
-----BEGIN CERTIFICATE-----
MIIC+jCCAeKgAwIBAgIRAJHzuOAreTAoDX90Y67Q+FcwDQYJKoZIhvcNAQELBQAw
EjEQMA4GA1UEChMHQWNtZSBDbzAeFw0yNDAyMjYxMTIyMzJaFw0yNTAyMjUxMTIy
MzJaMBIxEDAOBgNVBAoTB0FjbWUgQ28wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAw
ggEKAoIBAQDQI1SBHOTY5lHrs51dD+wJ83MKgZIcnLpD7MKyPrnouftoQQ18E3fy
XMDx6nuTfJVQq4ajkvRnDGYXMoMrAh1W75kw5CgQAS2bDu84xCd3jAXVxczJBBvN
HVyXIUdTKd8nzAfWQTVq3VAAGm0qkdCSGXWdNOPkGyxzEzWYEO4MPU+gD40JZa78
wr1IeMaBFk87Oa5NzHqtx730qHKmihXZkoGYLiv1lRIVf2AqYwZJK1y6BkiaYR8e
4lXCveT3EUt5dsAN4a4+9hI1wiaPi2eXEK8iC24rvHz65ZFex26JevFh3AzPxgYJ
AIAuTBBI6og/iIWRyB/zvkFN0wAfBl43AgMBAAGjSzBJMA4GA1UdDwEB/wQEAwIF
oDATBgNVHSUEDDAKBggrBgEFBQcDATAMBgNVHRMBAf8EAjAAMBQGA1UdEQQNMAuC
CWxvY2FsaG9zdDANBgkqhkiG9w0BAQsFAAOCAQEAj+JU9rgA5ihb+TeSoArui2yG
DboRcx5hAWeQzSp3xC+GMIH5TbMCg3FPxL+x1IR2Kd2Q3WzUq9Pa/SedSIZYxGJ+
OPpVT9qp8BlK97KAxoUK2NiGyYGUwgeNja5j/OYuC9nUG8KcVqsIeQBad42Scl0t
OBrSdqA/bPIR8b6++m9vkHuG2ousL5HijYEIwKkI2EXvVdhRtz5XysXcTw8kya+c
FnalLKtlbtAMd92LtT2tTdbSbaVJ0OmhET7JT+jwdNia1XaGIQiw+G+wOln1L96q
fmuIU2VkmSNgUjs4f4W5QGwIIst+WQtSTiV8rjkrUkBj8Lwtmobdjec7o14jHw==
-----END CERTIFICATE-----
28 changes: 28 additions & 0 deletions example/key.pem
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
-----BEGIN PRIVATE KEY-----
MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQI1SBHOTY5lHr
s51dD+wJ83MKgZIcnLpD7MKyPrnouftoQQ18E3fyXMDx6nuTfJVQq4ajkvRnDGYX
MoMrAh1W75kw5CgQAS2bDu84xCd3jAXVxczJBBvNHVyXIUdTKd8nzAfWQTVq3VAA
Gm0qkdCSGXWdNOPkGyxzEzWYEO4MPU+gD40JZa78wr1IeMaBFk87Oa5NzHqtx730
qHKmihXZkoGYLiv1lRIVf2AqYwZJK1y6BkiaYR8e4lXCveT3EUt5dsAN4a4+9hI1
wiaPi2eXEK8iC24rvHz65ZFex26JevFh3AzPxgYJAIAuTBBI6og/iIWRyB/zvkFN
0wAfBl43AgMBAAECggEBAMOxFBi4w+my0z8bB0+iUrkgbf9ox6mjKfYHOx8/nqfT
hS8GStlnrJTw5HAPmNSYhALu4o4U8zmYDLyuv2jGejNs3sl7GrfBg9GP/xeORdU+
j5XofZxaApGdk5p8rYThj3DpgkzNzp2FK1yNfCpUIpfa3BxMyB+F9QrU+sTY1hgm
MrxvZL9u1cQSN/aBc3XsAyxiAnvTsc7YyI2AP03mdhyF7OldHA6xmMxNnGha7Fr4
CaEIBONcv7cA+DQHm1opBvNxxGztXAKH8k+G7qtyQepy1so9NYW7CpXUy0tamZV+
ZJL5in2U+Gs1E/T4w7ks8nd2Bilg6mtMcL7hpliyiHECgYEA8AMIyk3ATRqjcgMY
3zW3pVt28g25pXVP0MhnTTu81EG8RRU6nfJzDZQIqDK3b0rksGtWkAQ/LkQZfcBy
JFKMjl0bUq2oP5txu9CkepwwjkxdBI6XhZ0Qz+UjGOXtWCQjLVTMdaqMdEdf2seN
5rTytOFzuZ3C18zLP+q6CSP5xUMCgYEA3gC+zC1cJ/sIkWxOUjy5BbCTZvb3y8uu
YSkgeqcpRd5IWYwKqCmMS48Bklwhy13yf27T/cWc+toIq6ZlcoL7ExfROmmMWK2F
f028nmNo4sLs5TW/zmM1+WCDKFykdKOczqO/tRh7EB1SgmCqbu+GZ95wzoPTFACZ
MuE/P61Luf0CgYEAuEPsHL1CtS+NanvcPYoVOzuUf1NwQwpkw8sIHDCP0XnCXFtn
DFpWYIdVeiSt1iDuoE9YPuszwoZ/956nQyGpTadH0dsHQAZMdEBD9uoxER6pj1UW
GXuzq5iksHneFXxxEV14N6I/gQpHGkV4uTYU3C/20/u92kYdiS3htCDNotcCgYA9
2fFOi3i4ft1FPuqXSOm3pxl6P2aMdgPwd/fflEEQgTyhDj5N2b2Hs6EZeOfFdDhC
vsr7UhpJXYO65xIulEWFbUZSwuNiNX4TGMJrUoD/ZJWByrbUtplsEDKahS0gfhEL
FV4tA1QOCk1Zm7sAS2Wj/LprHxko4n3MSitH/20wtQKBgCCCawcHin2jZkaDQdDE
09/cr1AtKaPsQdxD94Yw07dsf506z8do2B7nA1E9Y4tCvq5ScBNFGs/flPHNqU2c
gqskOnQ5JObHOh2A8b82nXmgnVy4F1I3x2CpqPOgwyvBNuWM0h969Pln3poHiWsu
EjgBHEhtfv5N7+BMQI/9A3Ws
-----END PRIVATE KEY-----
9 changes: 7 additions & 2 deletions ws_connection.go
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@ package gnet

import (
"context"
"crypto/tls"
"github.com/gorilla/websocket"
"google.golang.org/protobuf/proto"
"net"
Expand Down Expand Up @@ -93,8 +94,12 @@ func (this *WsConnection) Close() {
}

func (this *WsConnection) Connect(address string) bool {
u := url.URL{Scheme: this.config.Scheme, Host: address, Path: "/ws"}
conn, _, err := websocket.DefaultDialer.Dial(u.String(), nil)
u := url.URL{Scheme: this.config.Scheme, Host: address, Path: this.config.Path}
dialer := *websocket.DefaultDialer
if this.config.Scheme == "wss" {
dialer.TLSClientConfig = &tls.Config{RootCAs: nil, InsecureSkipVerify: true}
}
conn, _, err := dialer.Dial(u.String(), nil)
if err != nil {
atomic.StoreInt32(&this.isConnected, 0)
logger.Error("Connect failed %v: %v", this.GetConnectionId(), err.Error())
Expand Down
18 changes: 14 additions & 4 deletions ws_connection_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -9,6 +9,14 @@ import (
)

func TestWsConnection(t *testing.T) {
testWebSocket(t, "ws", "", "")
}

func TestWssConnection(t *testing.T) {
testWebSocket(t, "wss", "example/cert.pem", "example/key.pem")
}

func testWebSocket(t *testing.T, protocolName, certFile, keyFile string) {
defer func() {
if err := recover(); err != nil {
logger.Debug("fatal %v", err.(error))
Expand All @@ -29,7 +37,7 @@ func TestWsConnection(t *testing.T) {
WriteTimeout: 1,
HeartBeatInterval: 2,
}
listenAddress := "127.0.0.1:10002"
listenAddress := "localhost:10002"
codec := NewSimpleProtoCodec()
codec.Register(PacketCommand(pb.CmdTest_Cmd_HeartBeat), new(pb.HeartBeatRes))
codec.Register(PacketCommand(pb.CmdTest_Cmd_TestMessage), new(pb.TestMessage))
Expand Down Expand Up @@ -57,7 +65,9 @@ func TestWsConnection(t *testing.T) {
AcceptConnectionCreator: func(conn net.Conn, config *ConnectionConfig) Connection {
return NewTcpConnectionSimpleAccept(conn, config)
},
Path: "/ws",
Path: "/" + protocolName,
CertFile: certFile,
KeyFile: keyFile,
}
listener := netMgr.NewWsListener(ctx, listenAddress, listenerConfig)
time.Sleep(time.Second)
Expand All @@ -70,8 +80,8 @@ func TestWsConnection(t *testing.T) {
WriteTimeout: 1,
Codec: codec,
Handler: connectionHandler,
Path: "/ws",
Scheme: "ws",
Path: "/" + protocolName,
Scheme: protocolName,
}
//// test connect failed
//netMgr.NewWsConnector(ctx, "127.0.0.1:10086", &connectorConnectionConfig, codec,
Expand Down

0 comments on commit 9c6bcf3

Please sign in to comment.