Skip to content
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

能将 protocol = kcp 参数的意义变为 kcp 优先嘛? #528

Closed
IxsCN opened this issue Nov 17, 2017 · 5 comments
Closed

能将 protocol = kcp 参数的意义变为 kcp 优先嘛? #528

IxsCN opened this issue Nov 17, 2017 · 5 comments

Comments

@IxsCN
Copy link

IxsCN commented Nov 17, 2017

因为我需要给几百个设备统一下发配置,
kcp 确实能带来更好的链接速度,
但不是所有终端的环境都支持 kcp (udp 被封锁),
所以希望将 protocol = kcp 选项的意义换成 kcp 优先,
如果 kcp 不畅通则默认使用 tcp。
或者新添加个参数。
不知道可行嘛?

辛苦了。

@hijk1234
Copy link

可以联系作者,做版本定制
感觉默认还是tcp比较好吧

@fatedier
Copy link
Owner

目前没有,以后有可能的话会考虑加上。

@IxsCN
Copy link
Author

IxsCN commented Nov 20, 2017

十分感谢。

@shellus
Copy link

shellus commented Jan 29, 2018

实现这一点很难,或者说不会很优雅。
要实现一个超时重试机制很简单,但是要实现一个切换机制要考虑的东西却很多,例如如何确认是真的连不上,还是网络不稳定,但是连接后效果会很好,如果切换为次要方案,则其实效果不会很好。
总而言之,切换机制的引入,会为项目带来很大的复杂度,增加了项目以后的灵活度,增加了维护难度,且不确定的连接类型,会为DEBUG带来一定的困扰,而不会带来明显的好处。

所以,这种检测和切换机制,最好是在外层实现,例如在启动frp之前,联系一个udp echo服务器来确定udp的可用性,再动态调整frpc的启动参数。

为此功能请求-1

@shellus
Copy link

shellus commented Oct 9, 2018

我建议你使用另外一个frpc实例来进行tcp转发到不同端口,这样你可以自己选择使用kcp还是tcp。

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants