首先 编写Client程序:
1 import java.io.IOException; 2 import java.net.Socket; 3 import java.util.Scanner; 4 5 public class Client { 6 public static void main(String[] args) throws IOException { 7 /** 8 * 创建Socket 9 * 接收服务器端发送数据10 */11 Socket socket = new Socket("127.0.0.1", 9999);12 Scanner sc = new Scanner(socket.getInputStream());13 sc.useDelimiter("\n");14 while(sc.hasNext()){15 System.out.println(sc.next());16 }17 sc.close();18 socket.close();19 }20 }
客户端通过多线程发送给客户端数据:
1 import java.io.PrintStream; 2 import java.net.ServerSocket; 3 import java.net.Socket; 4 5 class ThreadSocket implements Runnable { 6 /** 7 * 线程接收到socket实例后执行run()处理 8 */ 9 private Socket socket;10 11 public ThreadSocket(Socket socket) {12 this.socket = socket;13 }14 15 @Override16 public void run() {17 try {18 PrintStream printStream = new PrintStream(socket.getOutputStream());19 printStream.println("nihao erzhi
");20 printStream.close();21 socket.close();22 } catch (Exception e) {23 e.printStackTrace();24 }25 }26 }27 28 public class Server {29 public static void main(String[] args) throws Exception {30 /**31 * 创建ServerSocket32 */33 ServerSocket server = new ServerSocket(9999);34 Socket socket = null;35 while (true) {36 /**37 * 死循环监听端口38 * 有消息开一个线程处理39 */40 socket = server.accept();41 new Thread(new ThreadSocket(socket)).start();42 }43 }44 }