1 package newTest; 2 3 import java.io.OutputStream; 4 import java.net.ServerSocket; 5 import java.net.Socket; 6 7 /** 8 * @author liuwenlong 9 * @create 2020-08-10 14:29:40 10 */ 11 @SuppressWarnings("all") 12 public class LwlClient { 13 public static void main(String[] args) { 14 if (args.length != 2) { 15 System.out.println("usage:java TcpServer port[5000~9999]"); 16 return; 17 } 18 try { 19 Socket socket = new Socket(args[0], Integer.parseInt(args[1])); 20 OutputStream out = socket.getOutputStream(); 21 byte b[] = new byte[300]; 22 while (true) { 23 System.out.print("mymsg>"); 24 int len = System.in.read(b); 25 if (len < 1) continue; 26 27 if (b[len - 2] == 13 && b[len - 1] == 10) { 28 len = len - 2; 29 } else { 30 len = len - 1; 31 } 32 if (len == 0) continue; 33 out.write(b, 0, len); 34 } 35 } catch (Exception e) { 36 System.err.println(e.getMessage()); 37 } 38 } 39 }
1 package newTest; 2 3 import java.io.InputStream; 4 import java.net.ServerSocket; 5 import java.net.Socket; 6 7 /** 8 * @author liuwenlong 9 * @create 2020-08-10 13:38:07 10 */ 11 @SuppressWarnings("all") 12 class ServerThread extends Thread { 13 Socket socket; 14 15 public ServerThread() { 16 } 17 18 public ServerThread(Socket socket) { 19 this.socket = socket; 20 } 21 22 @Override 23 public void run() { 24 try { 25 byte b[] = new byte[300]; 26 InputStream in = socket.getInputStream(); 27 while (true) { 28 int len = in.read(b); 29 System.out.println(new String(b, 0, len)); 30 } 31 32 } catch (Exception e) { 33 System.err.println(e.getMessage()); 34 } 35 } 36 } 37 38 39 public class TcpServer { 40 public static void main(String[] args) { 41 if (args.length != 1) { 42 System.out.println("usage:java TcpServer port[5000~9999]"); 43 System.exit(0); 44 } 45 46 try { 47 ServerSocket server = new ServerSocket(Integer.parseInt(args[0])); 48 while (true) { 49 Socket socket = server.accept(); 50 new ServerThread(socket).start(); 51 } 52 } catch (Exception e) { 53 System.err.println(e.getMessage()); 54 } 55 } 56 }
原文:https://www.cnblogs.com/lwl80/p/13471145.html