網絡編程中的異步編程
該文章對編寫客戶服務器應用的java程序員有所幫助,可以解決程序在對方出現故障的時候繼續穩定運行.目前java平臺已經廣泛應用于各類客戶/服務器系統中,在實際編程中,往往需要網絡的異步處理。比如客戶程序,如果客戶程序運行先于服務程序,則客戶程序則需要在服務程序啟動后再自動連接服務程序;在客戶程序運行中如果服務程序中途停止,則也需要在不停止的條件下,等待服務程序運行并重新連接。下面提供了一類異步編程的方法。
網絡異步應用涉及到如下幾個關鍵點:
客戶應用啟動后,檢測服務應用是否存在。如果不存在,則等待服務應用啟動,同時不堵塞客戶應用其他任務的執行。一旦服務應用啟動,客戶應用應該及時的與其建立連接。
客戶應用和服務應用在數據通信中,服務應用異常退出后,客戶應用應可以檢測到服務應用的退出。同時客戶應用自動清除該通信鏈路,回到初始狀態,等待服務應用重新啟動。
該網絡異步編程首先涉及到一個定時器和定時器事件。該定時器用于不斷的檢測網絡中客戶應用和服務應用是否連通,同時在服務應用出現異常時中止數據通信,返回到初始狀態。網絡的故障可以通過網絡方法的異常處理獲知。
定時器包含在網絡通信類中,使得使用該類的應用感知不到定時器的存在,而方便的處理網絡信息。
該客戶程序類如下結構:





































































































在以上程序中,也可以為外部應用提供一個回調函數,以便在網絡異?;蚧謴驼r通知應用。服務應用的網絡通信類類似,可以放在同一類中。
posted on 2008-03-27 16:58 都市淘沙者 閱讀(367) 評論(0) 編輯 收藏 所屬分類: Java Basic/Lucene/開源資料