talkserver.java

来自「JAVA案例开发集锦源代码 袁然 郑自国编」· Java 代码 · 共 54 行

JAVA
54
字号
//chp 9import 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 TalkServer {        public static void main(String[] args) {                try {                        ServerSocket server = null;                        try {                                server = new ServerSocket(4700);                        } catch (IOException e) {                                System.out.println("can not listen to: " + e);                                e.getMessage();                        }                        Socket socket = null;                        try {                                socket = server.accept();                //accept()是阻塞性的方法,所谓阻塞性方法都是说该方法被调用后,将                //等待客户的请求,直到有一个客户启动并请求连接到相同的端口,然后                //accept()返回一个对应于客户的Socket。这时,客户方和服务方都各自                //建立了用于通信的Socket,接下来就是由各个Socket分别打开各自的输入                                //输出流。                        } catch (Exception e) {                                System.out.println("Error " + e);                        }                        String line;                        BufferedReader is = new BufferedReader(new InputStreamReader(socket                                        .getInputStream()));                        PrintWriter os = new PrintWriter(socket.getOutputStream());                        BufferedReader sin = new BufferedReader(new InputStreamReader(                                        System.in));                        System.out.println("Client:" + is.readLine());                        line = sin.readLine();                        while (!line.equals("bye")) {                                os.println(line);                                os.flush();                                System.out.println("Client " + is.readLine());                                line = sin.readLine();                        }                        is.close();                        os.close();                        socket.close();                        server.close();                } catch (Exception e) {                        System.out.println("Error:" + e);                        e.getMessage();                }        }}

⌨️ 快捷键说明

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