googollee / go-socket.io

socket.io library for golang, a realtime application framework.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Client connect root ('/') doesn't have a namespace handler

kimbuba opened this issue · comments

Describe the bug
I'm using the example Client to connect to this service
https://cloudconvert.com/api/v2/socket

To Reproduce

client, err := socketio.NewClient("https://socketio.cloudconvert.com", nil)
if err != nil {
    return err
}

err = client.Connect()
if err != nil {
    return err
}

Environment (please complete the following information):

  • Go version: 1.21.6/
  • go-socket.io v1.8.0-rc.1

Additional context
Is there an issue because of the provided URL?
Is there any workaround?

thank you!

commented

Change the source code as follows:

// client.go line : 66

func (c *Client) Connect() error {
	dialer := engineio.Dialer{
		Transports: []transport.Transport{polling.Default},
	}

+	if len(c.opts.Transports) > 0 {
+		dialer.Transports = c.opts.Transports
+	}

and using

uri = "https://socketio.cloudconvert.com"
opts := &engineio.Options{
    Transports: []transport.Transport{polling.Default, websocket.Default},
}

client, err := socketio.NewClient(uri, opts)
client.Connect()

connected successfully, but an error will be reported after a while: websocket: close 1005 (no status)

go run .\main.go
2024/03/12 22:15:14 INFO header !BADKEY="{Type:0 ID:0 NeedAck:false Namespace: Query:}"
2024/03/12 22:15:14 INFO event !BADKEY=""
Connected 5DaspZxrcBEsFs42uzkA
2024/03/12 22:15:14 INFO header !BADKEY="{Type:0 ID:0 NeedAck:false Namespace: Query:}"
2024/03/12 22:15:14 INFO event !BADKEY=""
2024/03/12 22:15:39 INFO err !BADKEY="websocket: close 1005 (no status)"
2024/03/12 22:15:39 ERROR clientRead Error in Decoder err="websocket: close 1005 (no status)"
2024/03/12 22:15:39 ERROR clientError err="error in namespace: () with error: (websocket: close 1005 (no status))"
2024/03/12 22:15:39 ERROR close connect: err="use of closed network connection"
2024/03/12 22:15:39 INFO clientWrite Writer loop has stopped

Maybe it's not perfect.

commented

@kimbuba
Hi friend. I forked and made some modifications today. I can connect to the remote server normally, and the ping pong is normal. There is just a problem, the line is disconnected, and I don't know how to reconnect.
https://github.com/xuzuxing/go-socket.io

commented

QQ截图20240313225338

@xuzuxing thank you! I'll try to have a look, hopefully in the next days. Thank you!

What is the actual Fix for this? I also faced the same issue with go-socket.io v1.8.0-rc.1

any progress?