我使用 SCTP 代替TCP为用C语言编写应在P2P应用考虑我做呢?也如何SCTP的速度比较,以TCP的速度?

编辑: 我发现, SCTP可以隧道通过UDP与被隧道唯一的问题SCTP不与未隧道化SCTP互操作。

有帮助吗?

解决方案

如果它是一个局域网,肯定去了。

不过请注意,如果你打算使用它在开放的互联网很多消费级防火墙是不够灵活,可以通过它们允许无法识别的IP协议。

其他提示

你有没有考虑过是否你的目标系统将所有已SCTP对他们还是您的应用程序将需要包括SCTP本身预装?在我的经验,我不希望所有的系统对他们有安装SCTP,我希望他们不要,如果它是Windows操作系统。

如果您包括在应用程序本身则SCTP将增加一倍以上被传递到出内核当与使用预安装的TCP相比将影响性能的消息的数量。

你有没有考虑你想要SCTP什么好处?你提到的容错能力,但是这与SCTP工作,它需要应用程序有多个以太网端口,以及IP地址。这是有可能在你的应用程序?

虽然我爱SCTP(!),我会认真考虑与TCP除非你确信SCTP是需要或者除非你控制的主机您的应用程序部署在坚持。

此致

它如何帮你?

您是P2P,所以每一个同伴必须至少有一个插座开放给所有其他同行。

如果你有一个套接字打开,那么你可以做你需要做了这一切。如果你已经采取了每个文件一个插槽的方式和你有多个文件被给定的两个节点之间同时tranferred,则SCTP将节省您的每个文件一个插座。然而,任何尺寸的普通P2P网络上,你几乎会的从不的多个文件同时被两个对等体之间传递。

只要有一个插座,并有自己的小协议;发送一个数据包具有报头,报头指示内容类型,例如的命令,或部分的文件。 - 如果有的话,哪一个文件,并且该字节范围

当然,你这应该是一个小的开销,而如果你有一个命令插座,每一个文件,你是更有效的。为节省每对一个插座(假设每次一个下载)值得使用SCTP的时间/麻烦/复杂性?

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top