import java.io.*;
import java.net.Socket;
import java.util.Scanner;
/**
 * 客户端
 */
public class Tcpclient {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        Socket s=null;
        BufferedWriter bw=null;
        BufferedReader br=null;
        try {
            s=new Socket("127.0.0.1",8888);
            OutputStream o = s.getOutputStream();
            bw=new BufferedWriter(new OutputStreamWriter(o));
            br=new BufferedReader(new InputStreamReader(s.getInputStream()));
            System.out.println("请输入响应");
            String s1=sc.next();
            bw.write(s1);
            bw.newLine();
            bw.flush();
            System.out.println("服务器回应"+br.readLine());
        } catch (IOException e) {
            e.printStackTrace();
        }finally {
            try {
                bw.close();
                br.close();
                s.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}
 
import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;
import java.util.Scanner;
/**
 * 服务器端
 */
public class Seversocket {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        ServerSocket ss=null;
        Socket s=null;
        BufferedReader br=null;
        BufferedWriter bw=null;
        try {
            ss = new ServerSocket(8888);
            s = ss.accept();
            InputStream i = s.getInputStream();
            br=new BufferedReader(new InputStreamReader(i));
            bw=new BufferedWriter(new OutputStreamWriter(s.getOutputStream()));
            String re=br.readLine();
            System.out.println("IP"+s.getInetAddress().getHostAddress()+re);
            System.out.println("请给客户端回应");
            String s1=sc.next();
            bw.write(s1);
            bw.newLine();
            bw.flush();
        } catch (Exception e) {
            e.printStackTrace();
        }finally {
            try {
                br.close();
                bw.close();
                s.close();
                ss.close();
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
}