利用JAVA語(yǔ)言實(shí)現(xiàn)支持視頻點(diǎn)播的WEB服務(wù)器(3)_Windows教程
網(wǎng)絡(luò)本身的概念并不難。我們想獲得位于其他地方某臺(tái)機(jī)器上的信息,并把它們移到這兒;或者相反。這與讀寫文件非常相似,只是文件存在于遠(yuǎn)程機(jī)器上,而且遠(yuǎn)程機(jī)器有權(quán)決定如何處理我們請(qǐng)求或者發(fā)送的數(shù)據(jù)。但大多數(shù)編程語(yǔ)言對(duì)網(wǎng)絡(luò)編程都較困難,而Java最出色的一個(gè)地方就是它的"無(wú)痛苦連網(wǎng)"概念。有關(guān)連網(wǎng)的基層細(xì)節(jié)已被盡可能地提取出去,并隱藏在JVM以及Java的本機(jī)安裝系統(tǒng)里進(jìn)行控制。我們使用的編程模型是一個(gè)文件的模型;事實(shí)上,網(wǎng)絡(luò)連接(一個(gè)"套接字")已被封裝到系統(tǒng)對(duì)象里,所以可象對(duì)其他數(shù)據(jù)流那樣采用同樣的方法調(diào)用。除此以外,在我們處理另一個(gè)連網(wǎng)問(wèn)題--同時(shí)控制多個(gè)網(wǎng)絡(luò)連接--的時(shí)候,Java內(nèi)建的多線程機(jī)制也是十分方便的。
服務(wù)器的主要任務(wù)是偵聽建立連接的請(qǐng)求,這是由我們創(chuàng)建的特定服務(wù)器對(duì)象完成的。而客戶機(jī)的任務(wù)是試著與一臺(tái)服務(wù)器建立連接,這是由我們創(chuàng)建的特定客戶機(jī)對(duì)象完成的。一旦連接建好,那么無(wú)論在服務(wù)器端還是客戶機(jī)端,連接變成了一個(gè)IO數(shù)據(jù)流對(duì)象。從這時(shí)開始,我們可以象讀寫一個(gè)普通的文件那樣對(duì)待連接。所以一旦建好連接,我們只需使用自己熟悉的IO命令即可。
首先,server=new ServerSocket(80,acceptamount);
生成一個(gè)服務(wù)器端的套接字。其中第一個(gè)參數(shù)是表示服務(wù)器的監(jiān)聽端口,端口是機(jī)器內(nèi)獨(dú)一無(wú)二的場(chǎng)所。有些時(shí)候,一個(gè)IP地址并不足以完整標(biāo)識(shí)一個(gè)服務(wù)器。這是由于在一臺(tái)物理性的機(jī)器中,往往運(yùn)行著多個(gè)服務(wù)器(程序)。由IP表達(dá)的每臺(tái)機(jī)器也包含了"端口"(Port)。我們?cè)O(shè)置一個(gè)客戶機(jī)或者服務(wù)器的時(shí)候,必須選擇一個(gè)無(wú)論客戶機(jī)還是服務(wù)器都認(rèn)可連接的端口。端口并不是機(jī)器上一個(gè)物理上存在的場(chǎng)所,而是一種軟件抽象(主要是為了表述的方便)�?蛻舫绦蛑廊绾瓮ㄟ^(guò)機(jī)器的IP地址同它連接,但怎樣才能同自己真正需要的那種服務(wù)連接呢(一般每個(gè)端口都運(yùn)行著一種服務(wù),一臺(tái)機(jī)器可能提供了多種服務(wù),比如HTTP和FTP等等)?端口編號(hào)在這里扮演了重要的角色,它是必需的一種二級(jí)定址措施。
在HTTP協(xié)議中的默認(rèn)服務(wù)端口是80,當(dāng)然在小型社區(qū)中也可以使用其它的端口。本例中使用了默認(rèn)服務(wù)端口。
Socket s=server.accept();
這一句的作用是使服務(wù)器監(jiān)聽本機(jī)上的80端口,等待客戶機(jī)的連接。在沒(méi)有新的連接的情況下,服務(wù)器阻塞自身。當(dāng)客戶機(jī)連接到服務(wù)器后函數(shù)返回一個(gè)套接字。然后,通過(guò)套接字的輸入,輸出流即可用讀取本機(jī)文件的方法與客戶機(jī)進(jìn)行通信。
(三)客戶端設(shè)計(jì)
在客戶端,理想的裝置是電視機(jī),因?yàn)楫?dāng)前電視機(jī)普及率高,有線電視線路遍布各地,可重用資源廣泛。但目前的電視機(jī)絕大多數(shù)是模擬電視機(jī),它們只能接收模擬電視信號(hào),無(wú)法接收數(shù)字電視信號(hào),因此這種電視機(jī)的彩色圖像和伴音質(zhì)量并不是很高。而數(shù)字電視無(wú)論從價(jià)格,電臺(tái)改造,線路改裝等方面都存在很大的困難,短期內(nèi)難以普及。那么能否有一種折衷方案,即使目前的模擬電視機(jī)也能接收數(shù)字電視信號(hào)呢?回答是肯定的。但它們必須附加一個(gè)被稱作機(jī)頂盒(STB)的裝置。
Windows教程Rss訂閱服務(wù)器教程搜索
Windows教程推薦
猜你也喜歡看這些
- 如何配置tomcat支持shtml文件?
- WIN2003下Web服務(wù)器配置(3)
- 如何通過(guò)Apache 的mod_rewrite實(shí)現(xiàn)偽靜態(tài)
- 通過(guò)偽靜態(tài)規(guī)則實(shí)現(xiàn)子目錄綁定
- Apache與IIS的優(yōu)劣對(duì)比點(diǎn)點(diǎn)評(píng)
- 分析:中國(guó)web2.0不推特色服務(wù)將面臨崩潰
- HTTP 狀態(tài)代碼解釋(完整)
- Windows下打造完美的服務(wù)器平臺(tái)
- apache的AllowOverride指令
- IIS設(shè)置網(wǎng)站文件過(guò)期時(shí)間的方法
- 相關(guān)鏈接:
復(fù)制本頁(yè)鏈接| 搜索利用JAVA語(yǔ)言實(shí)現(xiàn)支持視頻點(diǎn)播的WEB服務(wù)器(3)
- 教程說(shuō)明:
Windows教程-利用JAVA語(yǔ)言實(shí)現(xiàn)支持視頻點(diǎn)播的WEB服務(wù)器(3)
。