新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 阳东县| 自治县| 麻栗坡县| 子长县| 浮山县| 台北县| 昭通市| 朝阳区| 文山县| 陵水| 平顺县| 瑞金市| 余干县| 祁东县| 罗甸县| 百色市| 咸丰县| 永顺县| 浦城县| 通化市| 禄劝| 江津市| 慈溪市| 寿阳县| 九龙城区| 乐业县| 双城市| 沙湾县| 平原县| 玉门市| 齐河县| 碌曲县| 阳山县| 望都县| 枣阳市| 拉孜县| 黔西| 温宿县| 广平县| 汤原县| 漠河县|