From 7a62c29225193c31ce9bca3701d7477651885f0a Mon Sep 17 00:00:00 2001 From: wdchang <13changice@tongji.edu.cn> Date: Mon, 21 Mar 2016 09:50:50 +0800 Subject: [PATCH 1/2] Create SocketClient.java --- SocketClient.java | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 SocketClient.java diff --git a/SocketClient.java b/SocketClient.java new file mode 100644 index 0000000..c7f291b --- /dev/null +++ b/SocketClient.java @@ -0,0 +1,32 @@ +import java.io.BufferedReader; +import java.io.InputStreamReader; +import java.io.PrintWriter; +import java.net.Socket; + +public class SocketClient { + public static void main(String[] args) { + try { + Socket socket =new Socket("127.0.0.1",2013); + socket.setSoTimeout(60000); + + PrintWriter printWriter =new PrintWriter(socket.getOutputStream(),true); + BufferedReader bufferedReader =new BufferedReader(new InputStreamReader(socket.getInputStream())); + + String result =""; + while(result.indexOf("bye") == -1){ + BufferedReader sysBuff =new BufferedReader(new InputStreamReader(System.in)); + printWriter.println(sysBuff.readLine()); + printWriter.flush(); + + result = bufferedReader.readLine(); + System.out.println("Server say : " + result); + } + + printWriter.close(); + bufferedReader.close(); + socket.close(); + }catch (Exception e) { + System.out.println("Exception:" + e); + } + } +} From 6a2c8d4f50bbf34b02cce5ad2796bcfae205ceae Mon Sep 17 00:00:00 2001 From: wdchang <13changice@tongji.edu.cn> Date: Mon, 21 Mar 2016 09:51:37 +0800 Subject: [PATCH 2/2] Create SocketServer.java --- SocketServer.java | 61 +++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) create mode 100644 SocketServer.java diff --git a/SocketServer.java b/SocketServer.java new file mode 100644 index 0000000..2bb4e40 --- /dev/null +++ b/SocketServer.java @@ -0,0 +1,61 @@ +import java.io.*; +import java.net.*; + +public class Server extends ServerSocket { + private static final int SERVER_PORT =2013; + + public Server()throws IOException { + super(SERVER_PORT); + + try { + while (true) { + Socket socket = accept(); + new CreateServerThread(socket);//当有请求时,启一个线程处理 + } + }catch (IOException e) { + }finally { + close(); + } + } + + //线程类 + class CreateServerThread extends Thread { + private Socket client; + private BufferedReader bufferedReader; + private PrintWriter printWriter; + + public CreateServerThread(Socket s)throws IOException { + client = s; + + bufferedReader =new BufferedReader(new InputStreamReader(client.getInputStream())); + + printWriter =new PrintWriter(client.getOutputStream(),true); + System.out.println("Client(" + getName() +") come in..."); + + start(); + } + + public void run() { + try { + String line = bufferedReader.readLine(); + + while (!line.equals("bye")) { + printWriter.println("continue, Client(" + getName() +")!"); + line = bufferedReader.readLine(); + System.out.println("Client(" + getName() +") say: " + line); + } + printWriter.println("bye, Client(" + getName() +")!"); + + System.out.println("Client(" + getName() +") exit!"); + printWriter.close(); + bufferedReader.close(); + client.close(); + }catch (IOException e) { + } + } + } + + public static void main(String[] args)throws IOException { + new Server(); + } +}