要了解JAVA的套接字編程就必須了解internet的相關(guān)概念,首先是客戶機(jī)/服務(wù)器的模式是一個(gè)應(yīng)用程序開發(fā)框架也就是大家了解的C/S架構(gòu),這個(gè)框架是為了將數(shù)據(jù)的表示與內(nèi)部的處理和存儲(chǔ)分離開而設(shè)計(jì)的. World Wide web(WWW萬維網(wǎng))的意思,這里還有B/S架構(gòu)就是瀏覽器/服務(wù)器,這里還有一個(gè)重要的概念就是協(xié)議,計(jì)算機(jī)之間進(jìn)行通訊需要遵守一定的規(guī)則,數(shù)據(jù)以包的形式從一臺(tái)計(jì)算機(jī)發(fā)送到另一臺(tái)計(jì)算機(jī).網(wǎng)絡(luò)協(xié)議主要有TCP/IP,UDP,
Apple,Talk,NedBEUI等.
再客戶機(jī)/服務(wù)器應(yīng)用程序中,服務(wù)器提供處理數(shù)據(jù)庫等操作.發(fā)生再客戶機(jī)和服務(wù)器之間的通訊必須是可靠的,數(shù)據(jù)不能丟失.傳輸控制協(xié)議TCP提供了一條可靠的,點(diǎn)對(duì)點(diǎn)的通訊通道.JAVA設(shè)計(jì)了一種聯(lián)網(wǎng)語言,通過把連接功能封裝套接字里,而使得網(wǎng)絡(luò)編程更加容易,套接字就是Socket類,和ServerSocket類.Socket類支持TCP協(xié)議,提供輸出.輸出方法,使得從套接字中讀出數(shù)據(jù)和往套接字中寫入數(shù)據(jù)都很容易,該類對(duì)于編寫因特網(wǎng)上的通訊程序而言是必不可少的.ServerSocket是一個(gè)因特網(wǎng)服務(wù)程序用來監(jiān)聽客戶請(qǐng)求的類,實(shí)際上ServerSocket類并不執(zhí)行服務(wù),接收到一個(gè)請(qǐng)求就創(chuàng)建一個(gè)Socket類對(duì)象.
域名服務(wù)或者說是DNS服務(wù)器就是將域名翻譯成IP地址的服務(wù).類似把一個(gè)個(gè)人Blog域名www.tkk7.com/action,映射成對(duì)應(yīng)的IP地址如127.0.0.1的服務(wù).如果沒有指明端口各種協(xié)議則有缺省的端口也就是默認(rèn)的端口.21是FTP傳輸文件協(xié)議的,23是Telnet遠(yuǎn)程登陸的,25是SMTP傳遞郵件的信息的,67是BOOTP再啟動(dòng)時(shí)提供配置情況的,80是HTTP傳輸Web頁的,109是POP使用戶能訪問遠(yuǎn)程系統(tǒng)中的郵件的.
實(shí)現(xiàn)套接字編程的主要類有:
ServerSocket類,是監(jiān)聽類,有一個(gè)accept()方法返回對(duì)客戶端套接字的引用.
Socket類,用getInputStream()和getOutputStream()方法來完稱套接字的相關(guān)操作
ObjectInputStream類,的getInputStream()方法初始化一個(gè)這個(gè)類的對(duì)象
readObject()類,的readObject()方法可以用于從數(shù)據(jù)流中讀取對(duì)象類型的數(shù)據(jù)
由于我主要目標(biāo)是從事J2EE的Web應(yīng)用服務(wù)器端開發(fā),所以對(duì)著方面的內(nèi)容只是里了解研究不深.
posted on 2005-11-04 13:40
我心依舊 閱讀(859)
評(píng)論(0) 編輯 收藏