日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁技術文章
文章詳情頁

Java在C/S網絡中的應用

瀏覽:174日期:2024-06-21 08:43:56
內容: 隨著Java語言的日益流行,特別是Java與InternetWeb的密切結合,使它在全球取得了巨大的成功。Java語言以其獨立于平臺、面向對象、分布式、多線索及完善的安全機制等特色,成為現代信息系統建設中的良好的開發平臺和運行環境。 一、Java網絡應用模型 和Internet上的許多環境一樣,完整的Java應用環境實際上也是一個客戶機/服務器環境,更確切地說是瀏覽器/服務器模型(即Browser/Server模型,簡稱Web模型)。但與傳統的客戶機/服務器(C/S)的二層結構不同,應用Java的Web模型是由三層結構組成的。傳統的C/S結構通過消息傳遞機制,由客戶端發出請求給服務器,服務器進行相應處理后經傳遞機制送回客戶端。而在Web模型中,服務器一端被分解成兩部分:一部分是應用服務器(Web服務器),另一部分是數據庫服務器,Java網絡應用結構模型如圖所示: HTTP TCP/IP Java網絡應用模型 針對分布式計算環境,Java通過其網絡類庫提供了良好的支持。對數據分布,Java提供了一個URL(UniformResourceLocator)對象,利用此對象可打開并訪問網絡上的對象,其訪問方式與訪問本地文件系統幾乎完全相同。對操作分布,Java的客戶機/服務器模式可以把運算從服務器分散到客戶一端(服務器負責提供查詢結果,客戶機負責組織結果的顯示),從而提高整個系統的執行效率,增加動態可擴充性。Java網絡類庫是Java語言為適應Internet環境而進行的擴展。另外,為適應Internet的不斷發展,Java還提供了動態擴充協議,以不斷擴充Java網絡類庫。 Java的網絡類庫支持多種Internet協議,包括Telnet,FTP和HTTP(WWW),與此相對應的Java網絡類庫的子類庫為: Java.net Java.net.ftp Java.net.www.content Java.net.www.html Java.net.www.http 這些子類庫各自容納了可用于處理Internet協議的類和方法。其中,java.net用于處理一些基本的網絡功能,包括遠程登錄(Telnet);java.net.ftp用于處理ftp協議;java.net.www.content用于處理WWW頁面內容;java.net.www.html和java.net.www.http則分別提供了對HTML語言和HTTP協議的支持。 二、客戶機/服務器環境下的Java應用程序 客戶機/服務器在分布處理過程中,使用基于連接的網絡通信模式。該通信模式首先在客戶機和服務器之間定義一套通信協議,并創建一Socket類,利用這個類建立一條可靠的鏈接;然后,客戶機/服務器再在這條鏈接上可靠地傳輸數據。客戶機發出請求,服務器監聽來自客戶機的請求,并為客戶機提供響應服務。這就是典型的“請求--應答模式。下面是客戶機/服務器的一個典型運作過程: 1.服務器監聽相應端口的輸入; 2.客戶機發出一個請求; 3.服務器接收到此請求; 4.服務器處理這個請求,并把結果返回給客戶機; 5.重復上述過程,直至完成一次會話過程。 按照以上過程,我們使用Java語言編寫一個分別針對服務器和客戶機的應用程序(Application)。該程序在服務器上時,程序負責監聽客戶機請求,為每個客戶機請求建立Socket連接,從而為客戶機提供服務。本程序提供的服務為:讀取來自客戶機的一行文本,反轉該文本,并把它發回給客戶機。 通過該程序實例我們看到,使用Java語言設計C/S程序時需要注意以下幾點: (1)、服務器應使用ServerSocket類來處理客戶機的連接請求。當客戶機連接到服務器所監聽的端口時,ServerSocket將分配一新的Socket對象。這個新的Socket對象將連接到一些新端口,負責處理與之相對應客戶機的通信。然后,服務器繼續監聽ServerSocket,處理新的客戶機連接。 Socket和ServerSocket是Java網絡類庫提供的兩個類。 (2)、服務器使用了多線程機制。Server對象本身就是一個線程,它的run()方法是一個無限循環,用以監聽來自客戶機的連接。每當有一個新的客戶機連接時,ServerSocket就會創建一個新的Socket類實例,同時服務器也將創建一新線程,即一個Connection對象,以處理基于Socket的通信。與客戶機的所有通信均由這個Connection對象處理。Connection的構造函數將初始化基于Socket對象的通信流,并啟動線程的運行。與客戶機的通信以及服務的提供,均由Connection對象處理。 (3)、客戶機首先創建一Socket對象,用以與服務器通信。之后需創建兩個對象:DataInputStream和PrintStream,前者用以從Socket的InputStream輸入流中讀取數據,后者則用于往Socket的OutputStream中寫數據。最后,客戶機程序從標準輸入(如:控制臺)中讀取數據,并把這些數據寫到服務器,在從服務器讀取應答消息,然后大這些應答消息寫到到準輸出。 以下本別為服務器和客戶機端的源程序清單。本程序在NT4.0網絡環境(TCP/IP)下使用JDK1.1調試通過。 ----1.編寫服務器類Java程序 //Server.java importjava.io.*; importjava.net.*; publicclassServerextendsThread { publicfinalstaticintDefault_Port=6543; protectdintport; protectdServerSockrtlisten_socket; //定義出錯例程: 如果出現異常錯誤,退出程序。 Publicstaticvoidfail(Exceptione,Stringmsg) { System.err.println(msg+':'+e); System.exit(1); } //定義并啟動服務器的Socket例程, 監聽客戶機的連接請求。 publicServer(intport) { if(port==0)port=Default_Port; this.port=port; try { listen_socket=newServerSocket(port); } catch(IOExceptione)fail(e, 'Exceptioncreatingserversocket'); System.out.println('Server: listeningonport'+port); This.start(); } ---/*下面為服務器監聽線程的主程序。該線程一直循環執行,監聽并接受客戶機發出的連接請求。對每一個連接,均產生一個連接對象與之對應,通過Socket通道進行通信。 */ publicvoidrun() { try { while(true) { Socketclient_socket=listen_socket.accept(); Connectionc=newConnection(client_socket); } } catch(IOExceptione)fail (e,'Exceptionwhilelisteningforconnections') } //啟動服務器主程序 publicstaticvoidmain(Stringargs[]) { intport=0; if(args.length==1) { tryport=Integer.parseInt(args[0]); catch(NumberFormatExceptione)port=0; } newServer(port); }//Endofthemain }//EndofServerclass //以下定義了Connection類, 它是用來處理與客戶機的所有通信的線程。 classConnectionextendsThread { protectedSocketclient; protectedDataInputStreamin; protectedPrintStreamout; //初始化通信流并啟動線程 publicConnection(Socketclient_socket) { client=client_socket; try { in=newDataInputStream(client.getinputStream()); out=newPrintStream(client.getOutputStream()); } catch(IOExceptione) { tryclient.close(); catch(IOExceptione2); System.err.println ('Exceptionwhilegettingsocketstreram:'+e); Return; } this.start; }//EndofConnectionmethod //服務例程:讀出一行文本; 反轉文本;返回文本。 publicvoidrun() { Stringline; StringBufferrevline; intlen; try { for(;;) { //Readaline line=in.readline(); if(line==null)break; //Reversetheline len=line.length(); revline=newStringBuffer(len); for(inti=len-1;i>=0;i--) revline.insert(len-1-I;line.charAt(i)); //Writeoutthereverseline out.println(revline); } catch(IOExceptione); finallytryclient.close(); catch(IOExceptione2); }//Endofrunmethod }//EndofConnectionclass 2.編寫客戶機類Java程序 //Client.java importjava.io.*; importjava.net.*; publicclassClientextends { publicstaticfinalintDefault_Port=6543; //定義出錯例程 publicstaticfinalvoidusage() { System.out.println('Usage: JavaClient[]'); System.exit(0); } publicstaticvoidmain(Stringargs[]) { intport=Default_Port; Sockets=null; //解析端口參數 if((args.length!=1)&& (args.length!=2))usage(); if(args.length==1) port=Default_Port; else { tryport=Integer.parseInt(args[1]); catch(NumberFormaatExceptione)usage(); } try{ //產生一個Socket, 通過指定的端口與主機通信。 s=newSocket(args[0],port); //產生用于發出和接收的文本字符流 DataInputStreamsin=new DataInputStream(s.getInputStream()); PrintStreamsout=new DataInputStream(s.getInputStream()); //從控制臺讀入字符流 DataInputStreamin=new DataInputStream(System.in); //返回連接的地址和端口 System.out.println('Connected to'+s.getInetAddress() +':'+s.getPort()); Stringline; For(;;) { //顯示提示符 System.out.print('>'); System.out.flush(); //讀入控制臺輸入的一行字符 line=in.readline(); if(line==null)break; //將接收的文本行送至服務器 sout.println(line); //從服務器接收一行字符 line=sin.readline(); //Checkifconnectionis closed(i.e.forEOF) if(line==null) { System.out.println('Connectionclosedbyserver.'); Break; } //在控制臺上顯示接收的字符 System.out.println(line); }//Endofforloop }//Endoftry catch(IOExceptione)System.err.println(e); //Alwaysbesuretoclosethesocket finally { tryif(s!=null)s.close(); catch(IOExceptione2); } }//Endofmain }//EndofClient 運行該客戶機程序時,必須以服務器主機名作為第一個參數,服務器端口號為第二個參數,其中服務器端口號可缺省 Java, java, J2SE, j2se, J2EE, j2ee, J2ME, j2me, ejb, ejb3, JBOSS, jboss, spring, hibernate, jdo, struts, webwork, ajax, AJAX, mysql, MySQL, Oracle, Weblogic, Websphere, scjp, scjd
標簽: Java
相關文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
奇米色欧美一区二区三区| 99久久婷婷| 亚洲久久在线| 日本亚洲不卡| 亚洲色图国产| 亚洲精品91| 国产亚洲午夜| 色一区二区三区| 丝袜亚洲精品中文字幕一区| 日产精品一区| 亚洲精品国产嫩草在线观看| 91麻豆国产自产在线观看亚洲| 里番精品3d一二三区| 国产美女撒尿一区二区| 欧美一级二级三级视频| 日韩在线a电影| 中文不卡在线| 香蕉久久一区| 欧美私人啪啪vps| 国产精品片aa在线观看| 欧美经典一区| 国产精品久久久久久久久久10秀| 精品国产乱码久久久久久1区2匹 | 日本vs亚洲vs韩国一区三区二区| 在线免费观看亚洲| 婷婷综合福利| 一区二区三区四区在线看| 亚洲欧美网站| 亚洲午夜av| 免费在线观看成人| 一区二区电影| 人人爱人人干婷婷丁香亚洲| 欧美日韩亚洲国产精品| 麻豆视频一区二区| av中文字幕在线观看第一页| 麻豆91精品91久久久的内涵| 中文av在线全新| 日韩精品一级中文字幕精品视频免费观看 | 免费在线观看一区二区三区| 国产91精品对白在线播放| 激情综合网五月| 亚洲涩涩av| 国产精品久久久久久久久久妞妞 | 久久要要av| 久久国产成人| 国产精品美女午夜爽爽| av中文资源在线资源免费观看| 国产在线成人| 天堂精品久久久久| 麻豆久久一区| 亚洲精品网址| 国产精品xvideos88| 韩国精品主播一区二区在线观看| 蜜桃一区二区三区在线| 麻豆极品一区二区三区| 午夜日韩在线| 久久超级碰碰| 9久re热视频在线精品| 国产精品天天看天天狠| 日韩精品免费一区二区三区| 日本亚洲视频在线| av在线最新| 日本免费在线视频不卡一不卡二| 久久男人天堂| 亚洲日本欧美| 欧美成a人国产精品高清乱码在线观看片在线观看久 | 日韩在线短视频| 午夜久久久久| 91精品在线免费视频| 国产日韩亚洲| 久久av偷拍| 欧洲亚洲一区二区三区| 免费日韩av| 欧美精品导航| 成人av动漫在线观看| 天堂va蜜桃一区二区三区| 美女高潮久久久| 在线 亚洲欧美在线综合一区| 亚洲精品三级| sm久久捆绑调教精品一区| av亚洲在线观看| 日韩高清一级| 久久激情网站| 欧美欧美黄在线二区| 国产精品成人a在线观看| 欧美专区18| 国产激情欧美| 亚洲免费播放| 国产欧美日韩亚洲一区二区三区| 精品成人免费一区二区在线播放| 丝袜美腿成人在线| 国产成人免费视频网站视频社区| 国产精品av一区二区| 国产精品巨作av| 蜜桃av一区二区三区电影| 欧美精品不卡| 亚洲另类av| 999精品色在线播放| 欧美亚洲自偷自偷| 国产精品av一区二区| 国产日产精品_国产精品毛片| 香蕉成人av| 国产精品网址| 日韩中文字幕区一区有砖一区| 免费亚洲婷婷| 欧美日韩免费观看视频| 日韩精品成人| 免费不卡中文字幕在线| 久久精品伊人| 久久av一区| 亚洲精品电影| 成人在线免费观看网站| 亚洲乱码视频| 欧美91福利在线观看| 麻豆精品蜜桃视频网站| 久久亚洲色图| 日本高清不卡一区二区三区视频 | 亚洲自拍另类| 日韩精品dvd| 国产伦精品一区二区三区视频| 亚洲国产一区二区三区在线播放| 另类综合日韩欧美亚洲| 午夜精品影视国产一区在线麻豆| 欧美一区二区三区激情视频| 精品国产一区二区三区性色av| 亚洲三级av| 欧美中文字幕一区二区| 国产精品99一区二区三区| 欧美一区久久| 蜜桃av一区二区| 日韩中文影院| 欧美亚洲国产精品久久| 水蜜桃久久夜色精品一区| 久久国产视频网| 综合干狼人综合首页| 老鸭窝毛片一区二区三区| 快播电影网址老女人久久| 精品午夜av| 国产日产精品一区二区三区四区的观看方式| 水蜜桃久久夜色精品一区的特点 | 91精品国产经典在线观看| 丝袜美腿高跟呻吟高潮一区| 在线国产一区二区| 91精品在线观看国产| 精品亚洲美女网站| 国语精品一区| 中文字幕在线看片| 国产精品久久观看| 国产aⅴ精品一区二区四区| 久久不见久久见国语| 国产精品v日韩精品v欧美精品网站| 欧美天堂一区| 国产精品一区二区三区av麻| 91欧美极品| 国产精品一区二区精品| 日韩高清在线观看一区二区| 中文字幕免费一区二区| 美女精品网站| 亚洲三级观看| 亚欧洲精品视频在线观看| 亚洲男人在线| 亚洲欧洲日韩| 日本亚洲不卡| 国产精品自在| 麻豆精品在线观看| 国产成人免费| 日韩av福利| 国产综合婷婷| 蜜桃免费网站一区二区三区| 亚洲午夜国产成人| 丝袜亚洲另类欧美| 日韩三级久久| 国产精品天堂蜜av在线播放| 国产精品久久免费视频| 国产一区二区三区探花| 岛国av免费在线观看| 亚洲成人精品| 久久性天堂网| 亚洲三级国产| 免费看av不卡| 亚洲欧美一区在线| 中文字幕一区二区三区日韩精品 | caoporn视频在线| 精品免费av在线| 狠狠干成人综合网| 亚洲欧美一级| 久久亚洲人体| 少妇精品导航| 视频在线观看国产精品| 国产欧美日韩免费观看| 欧美va天堂| 亚洲欧美专区| 里番精品3d一二三区| 欧美freesex黑人又粗又大| 性感美女一区二区在线观看| 一区久久精品| 国产亚洲精品美女久久 | 国产不卡av一区二区| 日韩精品欧美激情一区二区| 国产一区导航|