我是新來的Java和試圖編寫一個程序使用數據報套接字發送&在客戶端和服務器之間接收數據包。問題是,當光標到達行時,它會卡在那裏直到數據包到達。在此期間,我怎樣才能將數據發送給對方?換句話說,我怎樣才能使用數據報套接字同時發送和接收?如何在Java中使用多線程在套接字編程中同時發送和接收數據?
-2
A
回答
4
您需要線程(或NIO/netty,但這是更先進的)。
基本上阻止IO(顧名思義)會在每次讀取/寫入操作時阻塞當前線程,如果它一次無法處理。因此你需要第二個線程來處理寫入。每個好的Java套接字教程都會包含一個多線程服務器的例子。
-1
看來你指的是異步I/O,雖然這確實是通過使用線程和插座(如前所述)實現,這是最好的做用NIO:http://en.wikipedia.org/wiki/New_I/O
它擴展好多了,是基於事件的,假設你對IO和網絡沒有多少經驗,這比多線程更容易理解。你可以通過使用Apache MINA來避免它的一些複雜性:http://mina.apache.org/
相關問題
- 1. iOS中的套接字編程,如何同時接收和發送數據
- 2. Java:多個套接字在一個線程中發送和接收維護
- 3. 在一個線程中通過tcp套接字發送和接收數據
- 4. 發送和接收通過相同的套接字,但在不同的線程?
- 5. 通過Java中的套接字發送和接收數據
- 6. 發送和接收數據在UDP套接字java android
- 7. int數組中發送和接收的數據報套接字編程在java中
- 8. 在java多線程環境中關閉套接字和線程
- 9. 在使用java中的套接字連接的同時發送數據
- 10. java線程和數據報套接字接收
- 11. java套接字發送和接收
- 12. 在Java中使用Socket編程來發送和接收字節數組
- 13. 套接字同時發送/接收
- 14. 在Java套接字編程中發生「線程異常」主「java.lang.NoClassDefFoundError」
- 15. 在套接字中發送多個發送/接收
- 16. Rabbit MQ同步在多線程應用程序中發送和接收
- 17. TCP套接字編程和多線程Java中
- 18. 在Java中發送和接收套接字消息
- 19. 如何在多線程方面接收來自多個套接字的數據?
- 20. Java多線程套接字 - 如何按順序發送響應
- 21. 在TCP套接字編程中執行順序的發送和接收操作
- 22. 我如何發送和接收同一端口上同時使用套接字
- 23. Java多線程,套接字
- 24. 套接字線程在接收時阻塞主線程
- 25. 套接字 - 不發送/接收數據
- 26. 可以在兩個數據報套接字中使用發送和接收嗎?
- 27. Java套接字發送和接收數據
- 28. Java套接字,發送和接收數據?
- 29. 併發線程在套接字上發送數據比較慢?
- 30. 使用套接字發送和接收數據c
當你想同時並獨立地做某些事時,你需要使用多個線程。 –
如果你可以分享一些有用的代碼。 – iwein