[GH-ISSUE #528] 能将 protocol = kcp 参数的意义变为 kcp 优先嘛? #407

Closed
opened 2026-05-05 12:13:34 -06:00 by gitea-mirror · 5 comments
Owner

Originally created by @IxsCN on GitHub (Nov 17, 2017).
Original GitHub issue: https://github.com/fatedier/frp/issues/528

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

辛苦了。

Originally created by @IxsCN on GitHub (Nov 17, 2017). Original GitHub issue: https://github.com/fatedier/frp/issues/528 因为我需要给几百个设备统一下发配置, kcp 确实能带来更好的链接速度, 但不是所有终端的环境都支持 kcp (udp 被封锁), 所以希望将 protocol = kcp 选项的意义换成 kcp 优先, 如果 kcp 不畅通则默认使用 tcp。 或者新添加个参数。 不知道可行嘛? 辛苦了。
Author
Owner

@hijk1234 commented on GitHub (Nov 17, 2017):

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

<!-- gh-comment-id:345279532 --> @hijk1234 commented on GitHub (Nov 17, 2017): 可以联系作者,做版本定制 感觉默认还是tcp比较好吧
Author
Owner

@fatedier commented on GitHub (Nov 19, 2017):

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

<!-- gh-comment-id:345525999 --> @fatedier commented on GitHub (Nov 19, 2017): 目前没有,以后有可能的话会考虑加上。
Author
Owner

@IxsCN commented on GitHub (Nov 20, 2017):

十分感谢。

<!-- gh-comment-id:345579869 --> @IxsCN commented on GitHub (Nov 20, 2017): 十分感谢。
Author
Owner

@shellus commented on GitHub (Jan 29, 2018):

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

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

为此功能请求-1

<!-- gh-comment-id:361303264 --> @shellus commented on GitHub (Jan 29, 2018): 实现这一点很难,或者说不会很优雅。 要实现一个超时重试机制很简单,但是要实现一个切换机制要考虑的东西却很多,例如如何确认是真的连不上,还是网络不稳定,但是连接后效果会很好,如果切换为次要方案,则其实效果不会很好。 总而言之,切换机制的引入,会为项目带来很大的复杂度,增加了项目以后的灵活度,增加了维护难度,且不确定的连接类型,会为DEBUG带来一定的困扰,而不会带来明显的好处。 所以,这种检测和切换机制,最好是在外层实现,例如在启动frp之前,联系一个udp echo服务器来确定udp的可用性,再动态调整frpc的启动参数。 为此功能请求-1
Author
Owner

@shellus commented on GitHub (Oct 9, 2018):

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

<!-- gh-comment-id:428051124 --> @shellus commented on GitHub (Oct 9, 2018): 我建议你使用另外一个frpc实例来进行tcp转发到不同端口,这样你可以自己选择使用kcp还是tcp。
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: github-starred/frp#407
No description provided.