2012-05-23 140 views
1

我目前正在嘗試使用Socket和ServerSocket類創建聊天應用程序,但我有點碰到了障礙。當消息從服務器或客戶端傳入時,我需要某種偵聽器來執行某個代碼塊,但我似乎無法找到一個。一個選項當然是每10毫秒檢查一次傳入的消息,但是沒有更聰明的解決方案嗎?接收消息的監聽器

回答

0

通常,您應該爲每個您正在讀取的套接字分配一個線程,以便線程可以阻塞套接字並等待傳入​​的信息。當新數據可用

0

我建議NettyMinahttp://tus.svn.sourceforge.net/viewvc/tus/tjacobs/io/

這個類可以異步工作,並通知FetcherListener:

你應該DataFetcher看一看。至於Socket和ServerSocket,read()調用被阻塞,所以只要有傳入數據,read()的下面的代碼就會被執行。

雖然提防不完整的消息,因爲套接字提供了一個字節流,應用程序通常更適合離散消息。

相關問題