相同的大部分接口
拓扑如下:
-----s0---s1-----
h1 --| |--h2
-----s2---s3-----
h1使用UDP可靠地将文件泵送到h2。50和s1之间的链路可能已经断开。然后,它应该只使用底部路径继续发送数据。是否有办法检测到链接已断开?
到目前为止,我在h1和h2中分别为每个路径创建了两个python套接字。使用选择。选择我可以让准备好的套接字读取返回的。如果超时,我可以重传。但是,当链接断开时,我无法知道它是否断开。如果你必须从头开始为您的实现无论出于什么原因;
尝试ping,否则,等待返回;如果没有,请暂停在一段时间内收到回复;试试另一条路。任何理由你没有使用TCP?在UDP之上实现可靠性基本上是
关于TCP握手是如何建立的示例和指南,请参见3-way handshake。
你也可以考虑使用SCTP,它是多宿主的,基于流的传输控制协议。相当多的平台支持它,包括Linux、BSD、Windows和其他。
还有一个Python SCTP库
就这么简单:
import socket
import sctp
sk = sctpsocket_tcp(socket.AF_INET)
sk.connect("10.0.1.1")
并实现与套接字