新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 一種基于Java的網絡通信程序

        一種基于Java的網絡通信程序

        作者: 時間:2009-07-07 來源:網絡 收藏

        上述中,使用了多線程機制。Server和service對象本身都是一個線程。Server對象首先創建一個ServerSocket對象,并啟動線程的運行。它的run()方法用于監聽來自客戶機的連接。每當有一個新的客戶機連接時,ServerSocket就會創建一個新的Socket類實例,并創建一個service對象,同時啟動這個對象的線程。每個service對象用于完成與客戶機通信、提供服務的任務。這樣服務器可以同時與多個客戶機連接,同時為多個客戶機提供服務。當從標準輸入中接收到quit字符串時,服務器退出運行。

        本文引用地址:http://www.104case.com/article/158012.htm

        3 客戶端設計
        當客戶需要與服務器程序通信時,需在客戶機創建一個Socket對象。Socket類有構造函數Socket(InetAddress addr,int port)和Socket(String host,intport),兩個構造函數都創建了一個Socket的連接服務器端流套接字的流套接字。對于第一個InetAd-dress子類對象通過addr參數獲得服務器主機的IP地址,對于第二個函數host參數包被分配到InetAddress對象中,如果沒有IP地址與host參數相一致,那么將拋出UnknownHostException異常對象。兩個函數都通過參數port獲得服務器的端口號。假設已經建立連接了,網絡API將在客戶端Socket的流套接字中捆綁客戶程序的IP地址和任意一個端口號,否則兩個函數都會拋出一個IOException對象。
        如果創建了一個Socket對象,那么它可通過get-InputStream()方法從服務程序獲得輸入流讀傳送來的信息,也可通過調用getOutputStream()方法獲得輸出流來發送消息。在讀寫活動完成之后,客戶程序調用close()方法關閉流和流套接字。
        在下面客戶機端的通信程序中,首先創建一個Socket對象,用于與服務器通信,它從標準輸入中讀取數據,把這些數據傳給服務器,再從服務器讀取應答信息,然后把這些應答信息寫到標準輸出。當讀取了5行的數據后,客戶機程序將退出運行。



        4 結 語
        采用語言編寫程序非常簡捷,緣于Java語言本身就是一門面向對象的網絡編程語言,提供了多個可用于訪問標準Internet協議的類庫,從而支持多種Internet協議,包括:FTP,HTTP,NNTP和WWW等,極大地簡化了網絡程序設計。事實上,用Java語言還可以方便地編寫出功能完善的其他應用程序。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 遂宁市| 望都县| 清远市| 河东区| 盐边县| 乡城县| 定州市| 伊春市| 隆安县| 河东区| 颍上县| 永安市| 祁东县| 恩平市| 丹江口市| 陆川县| 晋宁县| 济源市| 封丘县| 辽源市| 德安县| 巨鹿县| 南岸区| 汤阴县| 岳普湖县| 琼中| 百色市| 沙河市| 潮安县| 根河市| 荣昌县| 宕昌县| 隆昌县| 宜兰县| 桃江县| 沐川县| 芦山县| 鸡泽县| 宁河县| 乐东| 玛多县|