【发布时间】:2011-09-13 11:08:50
【问题描述】:
我的应用程序将文件上传到客户端的服务器,但他想要特殊的“暂停上传”功能。我不能简单地关闭连接,甚至不能杀死进程 - 他需要失去连接,否则他的服务器应用程序会删除未完成的文件 - 所以我必须在代码中模拟“电缆拔出” - 你有什么建议吗? 谢谢你的帮助,对不起我的英语:) 吉尔卡
【问题讨论】:
-
您必须停止发送数据并停止发送到达数据的确认(我认为这对于 Java 的套接字实现是不可能的,因为这是由操作系统完成的),然后等待足够长的时间以便超时在服务器端触发。
-
使用防火墙设置(iptables 或 windows 防火墙)或者只是拔掉电缆,关闭无线路由器,或者发送 RST 信号。您可以在 Windows 上使用 TCPView 轻松完成。
-
@PaŭloEbermann,这不起作用,因为超时时间足够长(比如 2 小时)和/或他们启用了 KEEP_ALIVE。
-
@bestsss 好主意,但如果您想进行自动测试,主要是在 Windows 上,这会很棘手。
-
@PaoloVictor,使用 WinPCap 发送 RST 并不难,不知道是否有库/应用程序可以这样做。