在建立连接时,TCP使用三方握手.
step 1: client send SYN to server
step 2: server send SYN/ACK to client
step 3: client send ACK to server
但是,在步骤1、2或3中,分组可能丢失。
我有三个问题,请帮助我。
如何在三次握手中处理丢包?是否有任何方法来模拟丢包问题?TCP自动处理这个问题,或者开发人员也必须处理它?。
谢谢你的建议。
我正在开发一个使用python FABRIC模块执行远程shell命令的模块。
我的基础机器是运行在CentOS7发行版上的Linux机器,而我的远程机器是FreeBSD发行版。
我面临的问题有点令人困惑。
问题是,有时fabric会在远程计算机上运行该命令并顺利发布输出,但有时会显示错误msg:
fabric.exceptions.NetworkError: Low level socket error connecting to host *.*.*.* on port 22: Unable to connect to port 22 on *.*.*.*
我找不到背后的原因。
我的代码看
我有一个程序,它将数据从一台pc发送到另一台使用UDP (数据大小150字节)。该程序是在Delphi7 (TldUDPClient和TldUDPServer组件用于发送和增强数据)中编写的。我需要测试这个程序在30%的数据包丢失。
我将ipfw用于windows (从sourceforge下载):
ipfw -f flush
ipfw add pipe 1 ip from any to any out
ipfw pipe 1 config plr 0.3
当我使用ping时,我看到了30%的数据丢失。
当我启动我的delphi程序后,经过一段时间的工作,它会返回一个错误:socket err