用JavaSocket制作廣播信使程序
|
簡介
Java是一個強大的面向對象開發語言,支持很多功能,比如,通過Socket編程達到的C/S通訊,基于Windows的編程,基于CONSOLE的編程,還有數據庫連接,圖象和聲音編程等。 Java多用在基于INTERNET的網絡編程上,創建一些嵌入到HTML頁面中的Applet小程序來實現。
在開始實際編寫代碼之前,為了使得概念更加清晰,需要提及幾個重要的概念。廣播信使(broadcast messenger)是要創建一個服務器,用來負責接收和響應來自客戶機的網絡消息。這個就叫做廣播(Broadcasting),意思是發送數據包或者消息到所有的客戶機。
這里使用的是服務器/客戶機(C/S)框架,因為有一臺計算機扮演服務器的角色來響應客戶機的消息,所有其他的計算機都扮演客戶機的角色,僅僅只是發送請求到服務器來執行它們的一些任務。Socket是連接計算機彼此的一個邏輯連接。要創建一個socket,需要提供一個端口號和一個主機IP地址/主機名。
多線程意味著一個進程的多個線程能夠同時運行在分配給它們的同一個處理器上,就感覺好象只有進程在運行。所以,通過多線程技術,許多客戶機可以連接服務器的同一個端口。線程是占有資源的進程或程序的一部分,比如文件,I/O等等,它們能夠獨立運行。
Java代碼解釋
首先,我們創建一個服務器,創建一個server和client類,并import下面幾個文件:
| import java.io.*; import java.net.*; import java.awt.*; |
為server類設計一個interface使得從客戶機到達的請求能夠顯示在一個window form里。一個簡單server window設計如下:

Figure 1: 一個服務器窗口,顯示所有輸入和輸出,客戶機名和IP地址的日志。