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

📄 client.java

📁 java socket的一个例子
💻 JAVA
字号:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;


public class Client {


	Socket s = null;

	// 服务器信息读入
	BufferedReader sreader = null;

	// 对象输出
	ObjectOutputStream objectOut = null;

	// 服务器命令输出
	PrintStream ps = null;

	// 基础的outputstream
	OutputStream sout = null;

	ObjectInputStream objReader=null;
	/**
	 * 返回是否成功连接了
	 * 
	 * @return true:成功连接 false:没有连接
	 */
	public boolean isConnect() {
		if (s == null)
			return false;
		return s.isConnected();
	}

	/**
	 * 对一个主机发起连接,并返回这个连接的实例
	 * 
	 * @param host
	 *            目的主机
	 * @param port
	 *            端口
	 */
	public Client(String host, int port) {
		try {
			// 如果连接不上s就为null,根据这个可以改进,返回数据是否传输成功
			s = new Socket(host, port);
			// 设置超时
			//s.setSoTimeout(IP2PProperties.SOCKETTIMEOUT);
			sreader = new BufferedReader(new InputStreamReader(s
					.getInputStream()));
			sout = s.getOutputStream();
			objectOut = new ObjectOutputStream(sout);
			ps = new PrintStream(s.getOutputStream());
			objReader=new ObjectInputStream(s.getInputStream());
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
	}

	public void sendCommand(String cmd){
		ps.println(cmd);
	}
	
	public void getReply() throws IOException{
		String re=sreader.readLine();
		System.out.println(re);  
	}

	
	public static void main(String args[]) throws IOException{
		BufferedReader in ;
		String cmd;
		
		in = new BufferedReader(new InputStreamReader(System.in));
		

		System.out.println("输入要连接的计算机IP地址(输入空,表示回路连接):");
		String ip=in.readLine();
		
		Client cc=new Client(ip,5555);
		
		while(!cc.isConnect()){
			System.out.println("连接失败,输入要连接的计算机IP地址:");
			ip=in.readLine();
			cc=new Client(ip,5555);
		}
		
		System.out.println("已经连接完成,输入要传送的文件名:");
		
		while(true){ 
			
			try {
				//发送消息
				cmd=in.readLine();
				cc.sendCommand(cmd);
				if("exit".equalsIgnoreCase(cmd)){
					return;
				}
				cc.getReply();
				System.out.println("完成传输,输入下一个要传送的文件名");
			}catch (IOException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
		
	}
}

⌨️ 快捷键说明

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