java实现内网通信
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 }
原创文章,转载请说明出处,谢谢合作
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律