JDK6.0学习笔记(八)tcp通信服务器

    技术2022-05-12  12

    /** * tcp通信服务器 * 多个客户端可以连接一个服务器 * `要排队执行,一个客户端完成一次通信以后,下一个客户端才能与服务器交互 * */import java.io.*;import java.net.*;public class ImprovedSimpleServer {    public static void main(String[] args) throws IOException {        ServerSocket server = new ServerSocket(5678);        while (true) {//循环一侦听是否有新的客户端连接            Socket client = server.accept();            BufferedReader in = new BufferedReader(new InputStreamReader(client                    .getInputStream()));            PrintWriter out = new PrintWriter(client.getOutputStream());            while (true) {//循环二读取客户端的输入                String str = in.readLine();                out.println(str);                out.flush();                if (str.equals("end"))                    break;            }            client.close();        }    }}                tcp通信服务器 /** * tcp通信服务器 * 一个客户端只能连接一个服务器 * */import java.io.*;import java.net.*;public class SimpleServer {    public static void main(String[] args) throws IOException {        ServerSocket server = new ServerSocket(5678);// 分配端口,端口号从0~65535,前1024个是保留端口        Socket client = server.accept();// 产生阻塞,直到接受一个连接请求从客户端读取字符,并原样返回        BufferedReader in = new BufferedReader(new InputStreamReader(client                .getInputStream()));// 获得网络输入        PrintWriter out = new PrintWriter(client.getOutputStream());// 获得网络输出        while (true) {            String str = in.readLine();            out.println(str);            out.flush();            if (str.equals("end"))                break;        }        client.close();    }} /** * tcp通信客户端 * 一个客户端只能连接一个服务器 * */import java.net.*;import java.io.*;public class SimpleClient {    public static void main(String[] args) throws Exception {        Socket server = new Socket(InetAddress.getLocalHost(), 5678);// 创建与服务器的连接,获取IP地址        BufferedReader in = new BufferedReader(new InputStreamReader(server                .getInputStream()));        PrintWriter out = new PrintWriter(server.getOutputStream());        BufferedReader wt = new BufferedReader(new InputStreamReader(System.in));// 控制台从键盘输入        while (true) {            String str = wt.readLine();            out.println(str);            out.flush();            if (str.equals("end"))                break;            System.out.println(in.readLine());        }        server.close();    }}

    最新回复(0)