我的應用程序將文件上傳到我的客戶端的服務器,但他想要特殊的「暫停上傳」功能。我不能簡單地關閉連接,甚至沒有殺死進程 - 他需要失去連接,否則他的服務器應用程序刪除未完成的文件 - 所以我必須在代碼中模擬「拔下電纜」 - 你有什麼建議嗎? 感謝您的幫助,我的英語水平:) 爾卡對不起如何模擬套接字斷開?
3
A
回答
2
您可以使用Mockito創建Socket
模擬的單元測試,在這個問題上的建議:Testing Java Sockets
0
如果你寫的客戶端和服務器,或許更好的選擇是發送一些OOB data告訴服務器你正在暫停(或者一條消息告訴服務器不要在下一個套接字關閉時刪除該文件)。通常情況下最好是明確的,而不是依靠某些行爲的副作用 - 在你的情況下,關閉套接字而沒有明確的connection termination。
相關問題
- 1. 模擬套接字斷開連接
- 2. 如何模擬java套接字連接中斷?
- 3. 如何檢測套接字斷開?
- 4. 在Android中,如何斷開套接字?
- 5. 套接字java斷開
- 6. 檢測套接字斷開?
- 7. 套接字斷開行爲
- 8. 如何使用RAII模擬套接字
- 9. 如何判斷套接字何時斷開
- 10. 如何在Android模擬器中模擬多個套接字
- 11. 如何通過模擬庫模擬套接字對象
- 12. 模擬套接字錯誤
- 13. 檢測套接字斷開連接
- 14. Python:如何突然斷開套接字而沒有正確關閉套接字
- 15. 您如何知道套接字客戶端斷開連接?
- 16. 如何檢測C中的套接字斷開連接#
- 17. 如何模擬蘋果手錶與手機的斷開連接
- 18. 當升壓TCP套接字斷開
- 19. 檢測意外的套接字斷開
- 20. 檢測套接字斷開使用select()
- 21. 在AS3中自動斷開套接字
- 22. 第一次斷開套接字
- 23. 如何模擬套接字連接丟失?
- 24. C#:套接字問題 - 幾秒鐘後連接的套接字斷開連接
- 25. 如何模擬客戶端和服務器之間的套接字斷開(在Windows上)?
- 26. 如何從TCP套接字在斷開的NodeJS
- 27. 如何檢測客戶端的套接字斷開?
- 28. Boost :: asio套接字 - 如何徹底斷開它們?
- 29. 如何在Ruby中檢測斷開的Unix域套接字?
你必須停止發送數據並停止發送到達數據的確認(我認爲這對於Java的套接字實現是不可能的,因爲這是由OS完成的),然後等待足夠長的時間,以便服務器端的一些超時觸發。 –
使用防火牆設置(iptables或windows防火牆),或者拔掉電纜,關閉無線路由器或發送RST信號。你可以很容易地在Windows上使用TCPView。 – bestsss
@PaŭloEbermann,由於超時時間足夠長(如2小時)和/或啓用KEEP_ALIVE,所以無法工作。 – bestsss