我目前正在嘗試使用Socket和ServerSocket類創建聊天應用程序,但我有點碰到了障礙。當消息從服務器或客戶端傳入時,我需要某種偵聽器來執行某個代碼塊,但我似乎無法找到一個。一個選項當然是每10毫秒檢查一次傳入的消息,但是沒有更聰明的解決方案嗎?接收消息的監聽器
Q
接收消息的監聽器
1
A
回答
0
通常,您應該爲每個您正在讀取的套接字分配一個線程,以便線程可以阻塞套接字並等待傳入的信息。當新數據可用
0
我建議Netty或Minahttp://tus.svn.sourceforge.net/viewvc/tus/tjacobs/io/
這個類可以異步工作,並通知FetcherListener:
你應該DataFetcher看一看。至於Socket和ServerSocket,read()
調用被阻塞,所以只要有傳入數據,read()的下面的代碼就會被執行。
雖然提防不完整的消息,因爲套接字提供了一個字節流,應用程序通常更適合離散消息。
相關問題
- 1. 帶消息監聽器的事務會話,未收到消息
- 2. IBM MQ消息監聽器
- 3. 兔MQ消息監聽器
- 4. Nearby.Messages.handleIntent(的PendingIntent意圖,消息監聽消息監聽)未找到
- 5. 廣播接收器監聽器
- 6. Paypal:IPN監聽器沒有收到IPN消息
- 7. 銷燬JMS消息監聽器
- 8. MultiUserChatLight羣組消息監聽器
- 9. QuickBlox聊天消息監聽器
- 10. WebSphere MQ消息監聽器線程
- 11. IBM MQ JMS消息監聽器
- 12. 開始停止JMS消息監聽器
- 13. JMS消息監聽器設計
- 14. Java監聽http消息
- 15. 如何使用Javax.Comm串行事件監聽器接收SMS消息
- 16. Android監聽來自服務器套接字的消息
- 17. 指定MDB的消息監聽器接口
- 18. JMS MockTopic消息沒有被消息監聽器拾取嗎?
- 19. SleekXMPP可以隨意發送消息並仍然監聽收到的消息。
- 20. Android,OSC,接收器不接收消息。
- 21. 如何阻止Spring AMQP註釋的消息偵聽器接收消息
- 22. 當MessageListener拋出異常時,RabbitMQ監聽器停止監聽消息
- 23. MessageListenerContainer如何異步監聽消息?
- 24. 從服務器內部的監聽器接收數據
- 25. Android監聽器或廣播接收器的活動識別?
- 26. 消息監聽器中的消息重新傳遞和錯誤處理
- 27. 如何識別Spring Jms消息監聽器中的消息隊列名稱
- 28. 消息監聽器onMessage()方法不會衝突來自隊列的消息
- 29. 如何轉換JMS消息對接收的消息偵聽到的域對象
- 30. 實現一個OSC監聽器和消息修改器