轉帖|其它|編輯:郝浩|2010-10-20 14:11:33.000|閱讀 682 次
概述:本文主要講解如何讓使用Java編寫B/S網絡通信程序,希望對大家有幫助。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
網絡上的系統結構多為客戶/服務器模式,服務器端負責數據和圖像等的存儲、維護、治理以及傳遞,客戶端則負責人機界面的操作、送出需求及顯示收回的數據。
下面介紹一下如何使用Java來進行網絡編程:
1) 由于客戶端通過IE同服務器建立聯系,所以客戶端使用Applet,服務器端使用Application;
2) 服務器應設置成多線程,應答多個客戶的請求;
3) 兩端通信使用SOCKET機制。
Java中輸入/輸出流概念:
過濾流DataInputStream 和DataOutputStream 除了分別作為FilterInputStream 和FilterOutputStream的子類外,還分別實現了接口DataInput 和DataOutput。接口DataInput 中定義的方法主要包括從流中讀取基本類型的數據、讀取一行數據、或者讀取指定長度的字節數,如readBoolean() readInt()、readLine()、readFully()等。接口DataOutput中定義的方法主要是向流中寫入基本類型的數據或者寫入一定長度的字節數組,如writeChar()、writeDouble() DataInputStream可以從所連接的輸入流中讀取與機器無關的基本類型數據,用以實現一種獨立于具體平臺的輸入方式;DataInputStream 可以向所連接的輸出流寫入基本類型的數據。
Socket 機制
Socket是面向客戶/服務器模型設計的,網絡上的兩個程序通過一個雙向的通訊連接實現數據的交換,這個雙向鏈路的一端稱為一個Socket。 Socket通常用來實現客戶方和服務方的連接。客戶程序可以向Socket寫請求,服務器將處理此請求,然后通過Socket將結果返回給用戶。
Socket通信機制提供了兩種通訊方式:有聯接和無聯接方式,分別面向不同的應用需求。使用有聯接方式時,通信鏈路提供了可靠的,全雙工的字節流服務。在該方式下,通信雙方必須創建一個聯接過程并建立一條通訊鏈路,以后的網絡通信操作完全在這一對進程之間進行,通信完畢關閉此聯接過程。使用無聯接方式時其系統開銷比無聯接方式小,但通信鏈路提供了不可靠的數據報服務,不能保證信源所傳輸的數據一定能夠到達信宿。在該方式下,通信雙方不必創建一個聯接過程和建立一條通訊鏈路,網絡通信操作在不同的主機和進程之間轉發進行。
Java語言簡介
Java語言的優點主要表現在:簡單、面向對象、多線程、分布性、體系結構中立、安全性等方面。
(1) 簡單性
Java與C++語言非常相近,但Java比C++簡單,它拋棄了C++中的一些不是絕對必要的功能,如頭文件、預處理文件、指針、結構、運算符重載、多重繼續以及自動強迫同型。Java實現了自動的垃圾收集,簡化了內存治理的工作。這使程序設計更加簡便,同時減少了出錯的可能。
(2) 面向對象
Java提供了簡單的類機制和動態的構架模型。對象中封裝了它的狀態變量和方法,很好地實現了模塊化和信息隱藏;而類則提供了一類對象的原型,通過繼續和重載機制,子類可以使用或重新定義父類或超類所提供的方法,從而既實現了代碼的復用,又提供了一種動態的解決方案。
Java是一種完全面向對象的程序設計語言,它除了數組、布爾和字符三個基本數據類型外的其它類都是對象,它不再支持全局變量。在Java中,假如不創建新類就無法創建程序,Java程序在運行時必須先創建一個類的實例,然后才能提交運行。
Java同樣支持繼續特性,Java的類可以從其它類中繼續行為,但Java只支持類的單重繼續,即每個類只能從一個類中繼續。
Java支持界面,界面答應程序員定義方法但又不立即實現,一個類可以實現多個界面,利用界面可以得到多重繼續的許多優點而又沒有多重繼續的問題。
(3) 多線程
多線程使應用程序可以同時進行不同的操作,處理不同的事件。在多線程機制中,不同的線程處理不同的任務,他們之間互不干涉,不會由于一處等待影響其他部分,這樣輕易實現網絡上的實時交互操作。
Java程序可以有多個執行線程,如可以讓一個線程進行復雜的計算,而讓另一個線程與用戶進行交互,這樣用戶可以在不中斷計算線程的前提下與系統進行交互。多線程保證了較高的執行效率。
(4) 分布性
Java是面向網絡的語言。通過它提供的類庫可以處理TCP/IP協議,用戶可以通過URL地址在網絡上很方便的訪問其他對象。
(5) 體系結構中立
Java是一種網絡語言,為使Java程序能在網絡的任何地方運行,Java解釋器生成與體系結構無關的字節碼結構的文件格式。Java為了做到結構中立,除生成機器無關的字節碼外,還制定了完全統一的語言文本,如Java的基本數據類型不會隨目標機的變化而變化,一個整型總是32位,一個長整型總是64位。
為了使Java的應用程序能不依靠于具體的系統,Java語言環境還提供了用于訪問底層操作系統功能的類組成的包,當程序使用這些包時,可以確保它能運行在各種支持Java的平臺上。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:網絡轉載