Java程序完全按照預期的方式在局域網上同時使用TCP和UDP。然而,在UDP方面,儘管客戶端和服務器上的套接字都處於啓動狀態並且數據包正在發送和接收,但實現了部分單工數據流。哪裏將是最富有成效的領域來確定這個原因呢?Java - UDP WAN會話不能執行
0
A
回答
0
你需要處理髮送和接收在單獨的線程或使用某種異步IO。否則您的應用程序將通過WAN連接在鎖定中停止運行。你不會在局域網上看到它,因爲傳輸速度非常快。
0
請記住,使用UDP時,每條消息都只是扔在線上。不能保證它會使它到達另一邊,因此您必須開發算法來確定數據包何時丟失以及何時重複數據包。不能保證任何大於總共576字節(包括所有IP標頭)的數據報將被允許通過網絡,因此您必須劃分消息或採取措施檢測大數據報何時失敗。無法知道網絡一次可以處理多少個數據報,因此您必須規定您發送消息的速度,以及知道何時減慢速度。
廣域網只是一個更加困難的環境:存在更多競爭性流量,更慢的鏈路以及更少的大數據報容忍度。因此,通常在局域網上可以避免的事情會導致廣域網出現更多的錯誤。
所以考慮UDP是否真的是正確的協議使用。
相關問題
- 1. UIButton不會執行電話
- 2. 執行會話
- 3. 功能將不會執行
- 4. Java不會執行cmd行嗎?
- 5. 註冊會話執行
- 6. C#程序將不會從Java執行
- 7. Java InputHandler永遠不會執行
- 8. Java- Runtime.getRuntime().exec()不會執行python.exe
- 9. 執行Java applet儘可能大而不會損失比例
- 10. 用於交互式SSH會話的Java庫(能夠執行多部分命令)?
- 11. asp.net - 按鈕不會執行功能onclick
- 12. SQL查詢將不會執行。無法執行彙總功能
- 13. 如何在java中執行會話超時?
- 14. 不能用PHP執行函數執行java程序
- 15. 功能不執行
- 16. 會話不能使用Wordpress
- 17. 由會話執行的Oracle查詢
- 18. 執行會話超時指示?
- 19. 註冊會話執行PDOStatement :: execute():SQLSTATE [HY093]:
- 20. 從JS函數內執行PHP會話
- 21. Xdebug不能與PDT「等待Xdebug會話」
- 22. setTimeout()/ setInterval()將不會執行。 **我傳遞函數對象 - 不執行功能
- 23. 使用G-WAN運行sinatra
- 24. 功能不能執行onsubmit
- 25. 對G-WAN(通常Python的上G-WAN架構)的web2py運行
- 26. 會員功能不會執行其整個代碼
- 27. DJI錯誤:執行不能執行
- 28. 點擊功能不執行執行Nightmare.js
- 29. 運行Java應用程序的新可執行文件,保存會話
- 30. Java UDP編程
包丟失??? – nfechner 2012-02-10 20:47:40