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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? client.java

?? SSD8的練習(xí)一
?? JAVA
字號(hào):
/**
 * @see <code>Server.java</code>
 * @version 1.0
 * 
 * The file is to build a Simple HTTP/1.0 Client with a Command Line Interface.
 *
 */

import java.net.*;
import java.io.*;


public class Client {

	// The port number in static final type . 
	private static final int  socketPort = 6789;
	
	// Default constructor.
	public Client() {}

	/**
	 * This method is used to send the client's request to the server.
	 * 
	 * @param <code>Socket</code>object and <code>String</code> message object.
	 * @return void.
	 * @exception <code>IOException</code>.
	 */
	public void sendMessage(Socket clientSocket, String message) {

		String clientRequest;
		System.out.println(message + " is listening to your request:\n");

		BufferedReader inFromClient = new BufferedReader(new InputStreamReader(System.in));
		
		// In "Try-Catch" block, we do the actual work to send the message out, 
		//		and when the IO erro countered, throw out "IOException". 
		try {

			DataOutputStream outToServer = new DataOutputStream(clientSocket.getOutputStream());
			clientRequest = inFromClient.readLine();
			outToServer.writeBytes(clientRequest + "\r\n\r\n");

		} catch (IOException ioe) {

			System.err.println("IO erro: ");
			ioe.printStackTrace();
		}
		 
	}

	/**
	 * The method header is used to get the header out from the server reply, and print it out to the console.
	 * 
	 * @param <code>InputStream</code>
	 * @return void
	 * @exception <code>IOException</code>
	 * 
     */ 
	public void header(InputStream inFromServer) {

		String header = "";
		int temp;
		boolean isHeader = false;
		
		try {
			temp = inFromServer.read();
			System.out.println(temp);
			header += (char) temp;
			
			// When the string is "\r\n\r\n", the header is over, and we get it.
			while (temp != -1 && !isHeader) {
				switch (temp) {
				case 13:
					temp = inFromServer.read();
					switch (temp) {
					case 10:
						header += (char) temp;
						if ((char) (temp = inFromServer.read()) == ('\r'))
							if ((char) (temp = inFromServer.read()) == ('\n'))
								isHeader = true;
						break;
					default:
						break;
					}
					break;
				default:
					break;
				}
				if (isHeader)
					break;
				temp = inFromServer.read();
				header += (char) temp;
			}

		} catch (IOException ioe) {

			System.err.println("IO erro: ");
			ioe.printStackTrace();
		}

			System.out.println("header:\n" + header + "\n");
	}

	/**
	 * This method is used to change the flow that come from server to the type of "byte".
	 * 
	 * @param <code>InputStream</code> object  and <code>Socket</code> object.
	 * @return <code>byte[]</code>
	 * @exception <code>EOFException</code> and <code>IOException</code>
	 */
	public byte[] serverReply(InputStream inFromServer, Socket clientSocket) {

		int fileLength=0;
		byte[] buffer = null;
		
		// Get the length of the flow that come from the server and it may cause the IOException.
		try {
			
			fileLength = inFromServer.available();
		} catch (IOException e) {
			
			System.err.println("IO erro when \"inFromServer.available()\" ");
			e.printStackTrace();
		}
		
		buffer = new byte[fileLength];
		DataInputStream receivedFile = null; 

		receivedFile = new DataInputStream(inFromServer);
			
		// Get every byte from the DataInputStream object to the buffer array.
		try {
			 
			 for (int i=0;i<buffer.length;i++){
					buffer[i] = receivedFile.readByte();
			 }
		} catch (EOFException eof) {
			
			eof.printStackTrace();
		}catch (IOException e2) {
			
			e2.printStackTrace();
		} 
	
		return buffer;
	}

	/**
	 * This method is used to save the infomation from server to the local file.
	 * 
	 * @param <code>BufferedReader</code> object and <code>byte[]</code> object.
	 * @return void.
	 * @exception <code>FileNotFoundException</code> and <code>IOException</code>.
	 */
	public void saveFile(BufferedReader inFromClient, byte[] buffer) {

		System.out.println("Input a file name to save the header:\n");
		
		// Write the infomation to the file whose name is inputed by the user.
		try {

			FileOutputStream fileout = new FileOutputStream(inFromClient.readLine());
			PrintStream ps = new PrintStream(fileout);
			ps.write(buffer);
			ps.close();

		} catch (FileNotFoundException fnfe) {

			System.err.println("The specified file is not exist!");
			fnfe.printStackTrace();

		} catch (IOException ioe) {

			System.err.println("IO erro: ");
			ioe.printStackTrace();
		}
	}

	
	public static void main(String[] args) throws Exception {

		// Creat a new Client object.
		Client client = new Client();
		Socket clientSocket = null;

		// Establish a socket connection.
		try {

			clientSocket = new Socket(args[0], socketPort);
		} catch (UnknownHostException unke) {

			System.err.println("The host is unknown!");
			unke.printStackTrace();
	
		} catch (IOException ioe) {

			System.err.println("IO erro: ");
			ioe.printStackTrace();
		} catch (SecurityException se) {

			System.err.println("A security manager exists and we cannot get throw it.");
			se.printStackTrace();
		}

		BufferedReader inFromClient = new BufferedReader(new InputStreamReader(
				System.in, "UTF-8"));

		InputStream inFromServer  = new BufferedInputStream(clientSocket.getInputStream());
		
		
		client.sendMessage(clientSocket, args[0]);						//Send message.
		client.header(inFromServer);									//Get header.
		byte[] buffer = client.serverReply(inFromServer, clientSocket); //Change the stream flow to the type of "byte"
		client.saveFile(inFromClient, buffer);							//Save file
		clientSocket.close();											//Close the connection.

	}

}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
91精品综合久久久久久| 精品国产乱码久久久久久闺蜜| 舔着乳尖日韩一区| 国产精品久久久久久久久搜平片 | 国产一区二区在线看| 亚洲一区二区在线观看视频 | 欧洲一区在线观看| 国产在线看一区| 午夜精品久久久久久| 亚洲欧洲无码一区二区三区| 欧美白人最猛性xxxxx69交| 日本道色综合久久| 国产成人在线视频网址| 免费观看成人av| 亚洲一区中文在线| 亚洲图片激情小说| 国产片一区二区三区| 日韩一区二区在线免费观看| 欧美亚洲禁片免费| 9久草视频在线视频精品| 国产乱码精品一区二区三区五月婷| 午夜精品一区二区三区三上悠亚| 国产精品久久久久国产精品日日| 久久久精品黄色| 欧美mv日韩mv国产网站app| 欧美精品少妇一区二区三区| 日本韩国精品在线| 色婷婷狠狠综合| 91香蕉视频mp4| 99久久综合国产精品| 成人精品视频一区二区三区 | 亚洲小说欧美激情另类| 日韩一区在线播放| 日韩伦理av电影| 日韩毛片视频在线看| 中文字幕中文字幕在线一区 | 99精品欧美一区二区三区小说| 国产一区二区三区免费在线观看| 久久成人羞羞网站| 久久国产三级精品| 国产在线播放一区三区四| 精久久久久久久久久久| 经典三级视频一区| 国产成人在线色| 风流少妇一区二区| 97精品超碰一区二区三区| 91亚洲精品久久久蜜桃| 在线观看国产91| 欧美日韩国产一二三| 欧美一区在线视频| 欧美一区二区三区精品| 26uuu国产在线精品一区二区| 久久久91精品国产一区二区精品| 国产亚洲一本大道中文在线| 中文字幕精品综合| 亚洲欧美日韩小说| 天天操天天色综合| 国产乱码精品一区二区三区忘忧草 | 亚洲一区欧美一区| 午夜久久久久久久久| 看国产成人h片视频| 国产成人精品午夜视频免费| 91美女视频网站| 欧美喷水一区二区| 久久久综合激的五月天| 中文字幕日本不卡| 天堂va蜜桃一区二区三区| 精油按摩中文字幕久久| av爱爱亚洲一区| 欧美日韩高清在线| 久久精品人人做人人综合| 亚洲人成小说网站色在线| 日日夜夜免费精品| 国产成人在线网站| 欧美视频一区在线| 久久久久综合网| 亚洲麻豆国产自偷在线| 久久精品久久99精品久久| 成年人国产精品| 51精品视频一区二区三区| 国产午夜三级一区二区三| 一区二区三区鲁丝不卡| 久久99热这里只有精品| 97精品视频在线观看自产线路二| 4438成人网| 中文字幕在线免费不卡| 蜜臀av一区二区| 91网上在线视频| 精品处破学生在线二十三| 亚洲猫色日本管| 韩国一区二区三区| 欧美日韩久久久一区| 国产日韩欧美一区二区三区综合| 亚洲成人自拍网| 成人18视频在线播放| 欧美成人一区二区三区在线观看| 亚洲日本va午夜在线电影| 韩国理伦片一区二区三区在线播放| 色综合久久六月婷婷中文字幕| 亚洲精品一区二区三区99| 亚洲国产婷婷综合在线精品| 成人性生交大片免费看视频在线 | 国产精品第13页| 久久机这里只有精品| 欧美日韩国产123区| 一区在线播放视频| 国产在线观看一区二区| 91精品黄色片免费大全| 亚洲欧美另类久久久精品2019| 激情偷乱视频一区二区三区| 欧美久久久影院| ...xxx性欧美| 国产999精品久久| 26uuu亚洲| 蜜桃av一区二区在线观看| 欧美三区在线观看| 一区二区在线看| 不卡在线观看av| 中文字幕不卡三区| 国产麻豆一精品一av一免费| 337p亚洲精品色噜噜| 一区二区三区免费网站| 91丨九色丨国产丨porny| 国产精品伦理一区二区| 国产福利一区二区三区在线视频| 精品国产亚洲在线| 蜜臀久久99精品久久久久久9| 在线播放中文字幕一区| 亚洲一二三四久久| 欧美艳星brazzers| 亚洲综合一二区| 欧美婷婷六月丁香综合色| 亚洲精品高清在线| 在线精品视频免费播放| 一区二区三区成人| 欧美无人高清视频在线观看| 亚洲电影视频在线| 欧美久久久久久久久久| 视频一区二区中文字幕| 日韩一区二区三区免费观看| 麻豆成人免费电影| 精品国产成人在线影院| 国产精品一区二区男女羞羞无遮挡 | 国产在线精品免费| 国产亚洲午夜高清国产拍精品| 国产成人在线色| 国产精品水嫩水嫩| a级高清视频欧美日韩| 亚洲欧美激情小说另类| 欧美日韩中文字幕一区二区| 婷婷亚洲久悠悠色悠在线播放| 欧美一区二区三区免费在线看| 麻豆精品视频在线观看视频| 欧美成人一区二区| 国产不卡视频在线观看| 亚洲欧美另类久久久精品| 精品视频一区 二区 三区| 日本中文字幕一区二区视频| 26uuu成人网一区二区三区| 成人久久视频在线观看| 亚洲自拍欧美精品| 日韩欧美中文字幕制服| 国产高清不卡一区| 亚洲视频小说图片| 欧美精品自拍偷拍动漫精品| 精品在线你懂的| 国产精品系列在线| 欧美日韩免费一区二区三区视频| 蜜桃视频在线一区| 欧美经典一区二区| 欧美日韩一区二区三区高清| 精品一区二区三区免费播放| 一色桃子久久精品亚洲| 欧美精品一级二级| 国产99一区视频免费| 亚洲成人一区在线| 国产亚洲自拍一区| 欧美亚洲国产一区在线观看网站 | 亚洲日本在线天堂| 日韩欧美aaaaaa| av中文字幕亚洲| 日本午夜精品视频在线观看| 亚洲国产成人在线| 制服.丝袜.亚洲.中文.综合| 成人午夜激情在线| 日本一区中文字幕| 亚洲免费av观看| 亚洲精品在线电影| 91行情网站电视在线观看高清版| 精品伊人久久久久7777人| 一区二区在线看| 欧美高清在线精品一区| 欧美一区二区视频免费观看| www.在线成人| 国产在线观看免费一区| 午夜av一区二区| 亚洲精品免费在线| 久久精品一二三| 日韩一区二区三区免费观看| 欧美中文字幕一区|