⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tcpclient.java

📁 美国卡耐基。梅隆大学SSD8课程练习3的答案
💻 JAVA
字号:
import java.io.*;
import java.net.*;
import java.util.*;

public class TCPClient {

	private Socket client;
	private DataInputStream inFromServer;
	private DataOutputStream outToServer;
	private Date start;
	private Date stop;
	private byte[] out;
	private byte[] in;
	private int count;
	private int hostPort;
	private int lost;
	
	TCPClient() {
		hostPort = 8000;
		count = 0;
		in = new byte[1];
		lost = 0;
		out = new byte[1];
		out[0] = 0;
	}
	
	void setUpConnection(String hostIP){
		try {
			Socket client = new Socket(hostIP, hostPort);
			inFromServer = new DataInputStream(client.getInputStream());
			outToServer = new DataOutputStream(client.getOutputStream());
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			System.out.println("Error setting up socket connection: unknown host at " 
					+ hostIP + ":" + hostPort);
		} catch (IOException e) {
			// TODO Auto-generated catch block
			System.out.println("Error setting up socket connection: " + e);
		}
	}
	
	void sendMessage(){
		start = new Date();
		while(count < 1000){
			try {
				outToServer.write(out);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				System.out.println("IO write error!");
			}
			try {
				inFromServer.read(in);
			} catch (IOException e) {
				// TODO Auto-generated catch block
				System.out.println("IO read error!");
			}
			if(out[0] == in[0])
				count++;
			else{
				lost++;
				System.out.println("the Page lost is : " + out[0]);
			}
		}
		stop = new Date();
		
		double time = stop.getTime() - start.getTime();
		System.out.println("The average round trip time is: " + time/1000);
		System.out.println("The number of lost packets is: " + lost);
	} 
	
	void close(){
		try {
			client.close();
			inFromServer.close();
			outToServer.close();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}
	
	public static void main(String[] args){
		if(args.length != 1){
			System.out.println("Only need one argument: hostIP");
		}
		
		String hostIP = args[0];
		
		TCPClient client = new TCPClient();
		client.setUpConnection(hostIP);
		client.sendMessage();
		//client.close();			
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -