关于Socket简单的实现Client和Server,客户端发送消息,服务器端再将消息传回

Server服务器端:

package com.briup.Socket;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.ServerSocket;
import java.net.Socket;

public class Server {
	public Server() {
		BufferedReader br=null;
		PrintWriter pw=null;
		try {
			//1.创建服务器端ServerSocket对象
			ServerSocket serverSocket=new ServerSocket(9999);
			//2.监听客户端对象
			Socket socket=serverSocket.accept();
			//3.获取输入流,读取客户端对象
			br=new BufferedReader(new InputStreamReader(socket.getInputStream()));
			//4.获取输出流,对客户端请求进行响应
			pw=new PrintWriter(socket.getOutputStream(),true);
			//5.读取客户端信息
			String data = br.readLine();
			System.out.println(data);
			//6.转发给客户端
			pw.println(data);
		} catch (IOException e) {
			e.printStackTrace();
		}finally{
			//7.关闭资源
			try {
				br.close();
				pw.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}
	public static void main(String[] args) {
		Server server = new Server();
	}
}

Client客户端:

package com.briup.Socket;

import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.PrintWriter;
import java.net.Socket;

public class Client {
	public Client() {
		BufferedReader br = null;
		PrintWriter pw = null;
		Socket socket = null;
		try {
			// 1.创建Socket对象,指定连接的服务器地址和端口号
			socket = new Socket("localhost", 9999);
			// 2.获取输入流,读取服务器响应信息
			br = new BufferedReader(new InputStreamReader(
					socket.getInputStream()));
			// 3.获取输出流,向服务器端发送信息
			pw = new PrintWriter(socket.getOutputStream(),true);
			// 4.向服务器端发送信息
			pw.println("你好,server");
			// 5.接收服务器端发回响应
			String data = "";
			while (true) {
				if ((data = br.readLine()) != null) {
					System.out.println(data);
					break;
				}
			}
		} catch (Exception e) {
			e.printStackTrace();
		} finally {
			// 6.关闭资源
			try {
				br.close();
				pw.close();
				socket.close();
			} catch (Exception e) {
				e.printStackTrace();
			}
		}
	}

	public static void main(String[] args) {
		Client client = new Client();
	}
}

 

你可能感兴趣的:(java面试题)