New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
单独用 kcptun 10Mbps,而加上 rsock 600Kbps #1
Comments
--type tcp 就很慢,--type udp 很正常,难道我这 TCP 被限速了? |
rsock开了几个端口 |
默认 10 个。 |
sudo client_rsock_Darwin -l xxxx -d en0 -t xxxx --type udp 这样就比较快,不过过断时间可能需要重启一下再能继续通信。 |
重启这个问题,出现的是不是在比如电脑黑屏休眠再打开的时候?如果是这样,应该是shadowsocks、kcptun状态的问题。只需要关闭shadowsocks(turn shadowsocks off ),再重新打开(turn shadowsocks on)就行。还有这里的过一段时间,指的是过多久? 速度慢这个问题:你把日志贴上来看看。日志在这里:/var/log/rsock/rsock.log 。只需要贴这一个 |
不是休眠的问题,用着用着不一定什么时候就全挂了。因为我改了 ss 加上了 health-check,所以一挂立马就知道,试着重启一下 rsock 好了,不知道是不是巧合,这块还需要时间来观察。 |
是一个编译选项和log库的问题。我本地开发测试的二进制和发布到release上的不一样。所以一直没有出现这个问题。明天我修改了重新发布上来 |
|
@iceonsun 好使了。 |
youtube开3个1080p卡不卡 |
@iceonsun 比单独 KCP 是慢一点儿。开 3 个没试过,不过感觉缓冲比以前慢了点,但可以接受。你这10个端口应该也是 roundrobin 的吧。 |
@iceonsun 现在速度是很不错的,不过这次好像又出现一段时间后就会断的情况,重启又好了。这回是 --type=tcp。我再观察下现象。 |
这个断的情况还出现吗。“断”指的是程序崩溃了,还是没速度。我这儿出现断的情况通常是笔记本休眠唤醒的时候,会没速度。这个时候只需要重启客户端shadowsocks(同时也重启了kcptun)就可以了。 |
@iceonsun 是没速度,Health-check 超时。有没有办法自动恢复?因为我有的 client 是做服务器用,不能一断就重启服务呢。;) |
刚刚外网路由器断了一下,然后 health-check 就开始超时了,重启一下 rsock 就又连上了。不知道这是 ss,kcp,rsock 哪个断网后复归有问题。 |
@david9991 路由器断了等于tcp断了。这个要看中间的一系列路由器怎么处理,如果立即返回RST/FIN,那么rsock会立即重新连接,如果中间的路由器不发这两种flag(当然也不会转发数据),那么会在20s后重新连接。 网络断开不会受到RST/FIN这是有可能的,我自己测试过。 |
@iceonsun 嗯,那可能是这种情况。下次再断我多等一会儿,看看是否可以自动恢复。 |
@iceonsun 你有没有试过这么一个情况,就是原本使用 WIFI 连网,然后切换成 iPhone 热点,这时通信就会断掉,再切回 WIFI,rsock 连接也无法恢复,我这次等了 7 分钟也没有恢复。然后试着重启一下 rsock 立刻就能恢复。 |
普通情况下,你试了可以重连吧。
这个没试过。 切换成iphone热点肯定就不能通信了(此时外网网卡不一样),这是正常的。
你尝试重启一下kcptun看行不行。如果可以的话,就是kcptun和rsock的状态没对上。 |
我试了下,断网再重新连上,短时间是可以自己恢复的,不能自己恢复时候,我试着重启一下 kcp 还是不走数据,但重启一下 rsock 之后就可以立即恢复。 |
你把操作步骤按123描述一下,我重现一下现象 |
|
这个是因为client尝试重连服务器有次数限制(现在是10次),意思是,当服务器在这10次重试连接期间都还没有运行起来的话,client就不再重试,然后就连接就断了。 我现在把重试设置到无限次。 https://github.com/iceonsun/rsock/releases/tag/v1.7.1 你再试试,可以了就关掉这个issue |
Tag 打错了?不应该是 9e09951 ? |
一样的。master从dev cherry-pick过去的 |
https://github.com/iceonsun/rsock/archive/v1.7.1.tar.gz 里面并没有你 master 里改的内容。你再确认一下二进制是用 master 编的还是用 v1.7.1.tar.gz 编的? |
编进去了的。只不过是我先在dev上编了二进制,发布release,再cherry-pick 到master,最后 push 到github上。 发布的二进制压缩文件(https://github.com/iceonsun/rsock/releases/tag/v1.7.1)里面有VERSION.txt 其中commit version为 这个和最新的master是一样的( 就发布这个事,下次我先更新master后发布二进制
这个是你clone下来的master,还是v1.7.1 发布页面的source code。
重试是有时间间隔的, 1s->2s...32s->1s, 这样不断重试。最多不超过32s。我看图表中只等待了2s。 |
我是 clone 下来的 master。 |
我是这么测试的: 服务端kill掉rsock,等待10分钟,再启动rsock。client整个过程不动。 server起来以后,隔不久就看到client重连成功。此时已通。 重连这个的变更,主要改变在client。你确认一下, 启动有啥问题没(比如有旧的client在运行)。
这个停了,指的是断网,还是kill 掉rsock |
我和你的步骤一样。但我对「通」的定义是 health-check 会通过 rsock -> kcp 给 ss 发一个 PING,ss 通过 kcp -> rsock 回一个 PONG。我再试一次。 |
这回好使了。可能上次网络本身就是不好使。 |
单独用 kcptun 10Mbps,而加上 rsock 只有 600Kbps,有什么需要注意的吗?
The text was updated successfully, but these errors were encountered: