gsnova
gsnova copied to clipboard
i/o timeout when client use ws to connect to server
I meet many io timeout when download large file server use http and client connect to server with ws://server_ip:port always failed to download after 5 seconds using curl
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
9 100M 9 9351k 0 0 1868k 0 0:00:54 0:00:05 0:00:49 1993k
curl: (18) transfer closed with 95281283 bytes remaining to read
client side log
local_server.go:254: Failed to read proxy http request to cachefly.cachefly.net:80 for reason:read tcp 127.0.0.1:1889->192.168.11.10:42608: i/o timeout
server side log
2018/03/06 14:49:07 remote.go:33: [7]Start handle stream:&{tcp cachefly.cachefly.net:80 5000 0 []} with comprresor:none
2018/03/06 14:49:07 stream.go:221: [7]send window is ZERO
2018/03/06 14:49:08 stream.go:221: [7]send window is ZERO
2018/03/06 14:49:08 stream.go:221: [7]send window is ZERO
2018/03/06 14:49:08 stream.go:221: [7]send window is ZERO
2018/03/06 14:49:08 stream.go:221: [7]send window is ZERO
2018/03/06 14:49:08 stream.go:221: [7]send window is ZERO
2018/03/06 14:49:08 stream.go:221: [7]send window is ZERO
2018/03/06 14:49:08 stream.go:221: [7]send window is ZERO
2018/03/06 14:49:08 stream.go:221: [7]send window is ZERO
...many more same ZERO
the send window is ZERO
means the connection between your local machine & remote websocket server is too slow to send the file data.
and can u modify the line https://github.com/yinqiwen/gsnova/blob/master/local/local_server.go#L250 to large timeout value and retest again? seems this timeout is caused by this 5s timeout setting.
I think the speed 1993k/s is not slow.....