📄 talkserver.java
字号:
//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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -