亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? java語言的socket編程.txt

?? 含有許多JAVA的技巧!
?? TXT
?? 第 1 頁 / 共 2 頁
字號:
StringBuffer buf = new StringBuffer(50);

int c;

String fromServer,usertyped;

while ((fromServer = client_in.readLine()) != null) {

System.out.println("Server: " + fromServer);

while ((c = System.in.read()) != '\n') {

buf.append((char)c);

}

usertyped=buf.toString();

client_out.println(usertyped);

client_out.flush();

buf.setLength(0);

}

} catch (Exception e) {

System.out.println(e);

}

}

}

該程序與前面的程序類似,不同之處在于該程序使用循環:

while ((fromServer = client_in.readLine()) != null) {

...}

反復讀取服務端的輸入,并用:

while ((c = System.in.read()) != '\n') {

buf.append((char)c);

}

usertyped=buf.toString();

client_out.println(usertyped);

語句讀取用戶的鍵盤輸入,發送至服務端。其對話如下所示:

客戶端

C:\xyx\java\sock\bak\ftp>java ftpc

Server: Welcome to the test server

anonymous

Server: 331 Please send Password

xyx@yc.shu.edu.cn

Server: 230 Login OK

bye

服務端

C:\xyx\java\sock\bak\ftp>java ftpserver

got follow infor from client:anonymous

got follow infor from client:xyx@yc.shu.edu.cn

got follow infor from client:bye

值得一提的是,該客戶軟件不僅可以和前面的模擬FTP服務器進行通訊,而且可以和真正的FTP服務器通訊。如將該客戶軟件中IP地址“202.120.127.201”改為某FTP服務器的IP地址:“202.120.127.218”,則可作如下的通訊:

C:\xyx\java\sock\bak\ftp>javac ftpc

Server: 220 sun1000E-1 FTP server (UNIX(r) System V Release 4.0) ready.

USER anonymous

Server: 331 Guest login ok, send ident as password.

PASS xyx@yc.shu.edu.cn

Server: 230 Guest login ok, access restrictions apply.

QUIT

Server: 221 Goodbye.

其中,USER、PASS、QUIT分別為協議規定的用戶帳號、口令及退出的命令。

四、處理客戶端請求

以上的例子均只在服務端與客戶端相互傳送信息,在實用中,服務端應能對客戶端不同的輸入作出不同的響應。本節給出一個服務端處理客戶端請求的例子,協議如下:客戶連接后,服務端發送“Welcome to Time server”信息,客戶端讀取用戶輸入發送給服務端,如果客戶端輸入為Hours,則發送當前小時數至客戶端;如果客戶端輸入為Minutes、Years、Month、Day、Time、Date、down,則分別發送分鐘數、年份、月份、日期、時分秒、年月日至客戶端;客戶端輸入down則結束會話。

其客戶端仍采用上一節編寫的模擬FTP服務器的客戶程序,但需將程序中的端口21改為8885,以便與下面的服務端程序對話。服務端的程序修改如下:

import java.net.*;

import java.io.*;

import java.util.Date;

class server {

public static void main(String args[])

{ try {

ServerSocket server_Socket = new ServerSocket(8885);

Socket client_Socket = server_Socket.accept();

DataInputStream server_in = new DataInputStream(client_Socket.getInputStream());

PrintStream server_out = new PrintStream(client_Socket.getOutputStream());

String inputLine, outputLine;

server_out.println("Welcome to Time server");

server_out.flush();

Date t=new Date();

while ((inputLine = server_in.readLine()) != null) {

System.out.println("got"+inputLine);

String hours = String.valueOf(t.getHours());

String minutes = String.valueOf(t.getMinutes());

String seconds = String.valueOf(t.getSeconds());

String years = String.valueOf(t.getYear());

String month = String.valueOf(t.getMonth());

String day = String.valueOf(t.getDay());

if(inputLine.equalsIgnoreCase("Down"))

break;

else if(inputLine.equalsIgnoreCase("Hours"))

server_out.println("Current Hours is:"+hours);

else if(inputLine.equalsIgnoreCase("Minutes"))

server_out.println("Current Minutes is:"+minutes);

else if(inputLine.equalsIgnoreCase("Years"))

server_out.println("Current Years is:"+years);

else if(inputLine.equalsIgnoreCase("Month"))

server_out.println("Current Month is:"+month);

else if(inputLine.equalsIgnoreCase("Day"))

server_out.println("Current Day is:"+day);

else if(inputLine.equalsIgnoreCase("Time"))

server_out.println("Current Times is:"+hours+":"+minutes+":"+seconds);

else if(inputLine.equalsIgnoreCase("Date"))

server_out.println("Current Date is:"+years+"."+month+"."+day);

else server_out.println("I don't know");

server_out.flush();

}

}

catch(Exception e){

System.out.println(e);

}

}

}

在該程序中,使用類似前面客戶端的方法,用一個循環

while ((inputLine = server_in.readLine()) != null) {

...}

反復讀取客戶端的信息。在循環中根據客戶端傳來的不同信息作不同的處理。

五、程序的優化

為了使程序更優化,可從以下方面入手:

1. 進行出錯處理

如可對每句使用try{...}catch(...){...}的形式處理程序中的例外情況,恰當地返回出錯信息或進行出錯處理等。

2. 關閉打開的Socket和流

結束對話時將所打開的Socket和流都關閉,Java中的SeverScoket、Socket、DataInputStream及DataOutputStream類都提供了方法close()來實現此功能。

3. 支持多次連接

前面的服務端程序在結束一次對話后都將自動結束,如果再有客戶端要建立連接需要重新執行服務端的程序。為了使服務端支持多次連接,只要用一個循環即可。如對前面所有的服務端程序,都可以將執行“accept()”的語句至“}catch(Exception e)”語句的前一行包含在while(true){...}的循環體中而使其支持多次連接。

4. 使用線程

服務端程序一般使用線程,以便在等待客戶端連接時可以處理其他事情。此外,通過為每個客戶端的請求分配一個新的線程,可以使服務端能夠同時支持多個連接,并行處理客戶端的請求。

〖參考資料〗

1. Mary Campione and Kathy Walrath, 

"The Java Tutorial", 

last updated 4 Mar 96.

ftp://ftp.javasoft.com/docs/tutorial.html.zip

2. Laura Lemay, 

Charles L. Perkins, 

"Teach Yourself JAVA in 21 Days"

3. "The Java Language Tutorial" 

ftp://java.sun.com/docs/progGuide.html.zip 

4. elharo@sunsite.unc.edu, 

"Brewing Java: A Tutorial", 

Last-modified: 1996/9/20,

http://sunsite.unc.edu/javafaq/javatutorial.html

本欄文章均來自于互聯網,版權歸原作者和各發布網站所有,本站收集這些文章僅供學習參考之用。任何人都不能將這些文章用于商業或者其他目的。( ProgramFan.Com )
 

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
玖玖九九国产精品| 亚洲午夜久久久久久久久久久| 欧美久久久久久久久| 色综合色狠狠综合色| 成a人片亚洲日本久久| jiyouzz国产精品久久| 国产成人亚洲综合色影视| 国产成+人+日韩+欧美+亚洲| 国产精品影视天天线| 岛国精品在线播放| 成人夜色视频网站在线观看| 成人avav影音| 欧洲av在线精品| 欧美精品18+| 日韩欧美一二区| 国产日韩精品久久久| 国产精品传媒入口麻豆| 亚洲免费在线视频一区 二区| 亚洲精品成人悠悠色影视| 亚洲一区二区三区四区的| 日本成人中文字幕| 国产乱对白刺激视频不卡| 99精品视频一区| 在线播放中文字幕一区| 久久综合九色综合欧美98| 国产精品久久久久精k8| 婷婷夜色潮精品综合在线| 韩国女主播成人在线| 91日韩在线专区| 91精品国产入口| 中文字幕亚洲不卡| 久久精品国产一区二区| 91影院在线免费观看| 日韩欧美区一区二| 亚洲精品久久久蜜桃| 九九在线精品视频| 波多野结衣视频一区| 欧美一区二区在线不卡| 亚洲日本丝袜连裤袜办公室| 亚洲18女电影在线观看| 国产老女人精品毛片久久| 成人97人人超碰人人99| 色8久久人人97超碰香蕉987| 欧美日韩国产小视频在线观看| 欧美一卡二卡在线| 亚洲国产成人午夜在线一区| 亚洲免费观看在线视频| 青青草精品视频| jlzzjlzz国产精品久久| 欧美美女激情18p| 国产调教视频一区| 日日夜夜精品视频天天综合网| 粉嫩嫩av羞羞动漫久久久 | 高清视频一区二区| 91视频.com| 久久综合狠狠综合| 亚洲一区国产视频| 成人污视频在线观看| 在线播放中文字幕一区| 亚洲三级在线免费观看| 久久精品久久99精品久久| 99精品在线观看视频| 久久香蕉国产线看观看99| 亚洲最色的网站| 成人国产亚洲欧美成人综合网| 欧美一区二区三区四区久久 | 亚洲女女做受ⅹxx高潮| 精品综合免费视频观看| 7777女厕盗摄久久久| 一区二区三区精品在线观看| 美女一区二区视频| 欧美肥妇bbw| 一区二区在线看| 成人精品小蝌蚪| 欧美经典一区二区三区| 免费观看日韩av| 欧美男人的天堂一二区| 亚洲一区二区三区美女| 91丝袜美腿高跟国产极品老师| 久久噜噜亚洲综合| 天天操天天综合网| 777xxx欧美| 亚洲福利一二三区| 精品1区2区3区| 亚洲一区二区在线观看视频| 91麻豆蜜桃一区二区三区| 国产三级欧美三级| 国产美女娇喘av呻吟久久| 日韩亚洲欧美在线| 麻豆精品新av中文字幕| 欧美mv和日韩mv的网站| 卡一卡二国产精品 | 精品一区二区三区的国产在线播放| 777亚洲妇女| 免费观看在线色综合| 91精品免费在线观看| 午夜久久福利影院| 欧美一区二区三区日韩| 亚洲免费观看高清完整版在线观看 | 91亚洲永久精品| 一区二区三区欧美久久| 在线看不卡av| 奇米影视一区二区三区小说| 日韩一区二区三区四区| 日本伊人午夜精品| 91精品国产91综合久久蜜臀| 久草在线在线精品观看| 国产日韩v精品一区二区| av电影天堂一区二区在线观看| 中文字幕日韩一区二区| 欧美午夜精品免费| 蜜桃视频在线观看一区二区| 国产欧美一区视频| 色就色 综合激情| 日韩电影在线一区二区| 国产日产欧美一区| 色哟哟国产精品免费观看| 日本免费新一区视频| 久久精品欧美一区二区三区不卡| 国产美女娇喘av呻吟久久| 一区二区三区在线播放| 欧美刺激午夜性久久久久久久| 国产精品一区二区男女羞羞无遮挡| 亚洲欧洲色图综合| 欧美猛男超大videosgay| 国产乱码精品一区二区三区忘忧草 | 91网址在线看| 日日骚欧美日韩| 国产精品免费视频观看| 欧洲精品中文字幕| 国产乱人伦偷精品视频不卡 | 国产精品888| 亚洲成av人片www| 亚洲精品在线观看网站| 欧美丰满美乳xxx高潮www| 成人午夜又粗又硬又大| 婷婷久久综合九色综合绿巨人| 国产视频一区在线观看| 欧美日本在线一区| 91蜜桃婷婷狠狠久久综合9色| 日本成人在线一区| 又紧又大又爽精品一区二区| 久久精品视频免费| 欧美一级日韩一级| 欧美三级三级三级| 9i在线看片成人免费| 久久草av在线| 视频一区国产视频| 亚洲在线成人精品| 精品sm捆绑视频| 欧美日韩精品二区第二页| 日本福利一区二区| 99精品久久久久久| 成人免费高清在线| 国产在线视频一区二区三区| 日韩高清一区在线| 五月激情综合色| 亚洲福利视频导航| 亚洲在线成人精品| 亚洲日本电影在线| 一区二区三区日韩欧美精品| 亚洲人快播电影网| 自拍偷拍欧美激情| 亚洲天堂2014| 伊人开心综合网| 亚洲一区精品在线| 日韩黄色片在线观看| 午夜av电影一区| 日本欧美一区二区三区乱码| 日韩国产精品久久久久久亚洲| 亚洲欧洲综合另类在线| 中文字幕亚洲区| 一区二区三区在线观看欧美| 尤物视频一区二区| 一区二区在线观看免费| 亚洲午夜免费福利视频| 午夜精品福利在线| 欧美aaa在线| 国产麻豆午夜三级精品| 成人午夜电影网站| 色噜噜狠狠色综合中国| 成人av影院在线| 成人avav影音| 91社区在线播放| 欧美欧美欧美欧美首页| 日韩久久精品一区| 欧美激情综合五月色丁香小说| 国产精品网站在线观看| 亚洲免费av在线| 秋霞电影一区二区| 国产.欧美.日韩| 在线影院国内精品| 日韩三级精品电影久久久| 国产情人综合久久777777| 日韩毛片在线免费观看| 天天综合天天做天天综合| 激情综合网av| 成人永久免费视频| 精品sm在线观看| 亚洲人亚洲人成电影网站色|