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

Created on 17 Nov 2017  ·  7Comments  ·  Source: fatedier/frp

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

辛苦了。

enhancement

Most helpful comment

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

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

为此功能请求-1

All 7 comments

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

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

十分感谢。

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

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

为此功能请求-1

有的是自己把本地资源共享出去给外面看,有的时候是把程序发给别人,访问别人公司的网络,当vpn用了,向日葵teamviewer比端口映射慢,还耽误别人用电脑,为了更通用稳定和使用方便,自动降级+1

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

“热爱编程,总会有新奇的想法,总会试图去实现。”

Was this page helpful?
0 / 5 - 0 ratings

Related issues

gao270615179 picture gao270615179  ·  3Comments

Geilivable picture Geilivable  ·  4Comments

AngryBaby picture AngryBaby  ·  3Comments

yj7778826 picture yj7778826  ·  3Comments

wangchong666 picture wangchong666  ·  4Comments