Jvav基础学习总结
一、TCP编程
1、 在服务器上应用多线程
对于服务端来说,如果要加入多线程机制,则应该在每个用户连接之后启动一个新的线程。所以先建立一个EchoThread的类,此类专门用于处理多线程操作,此时的多线程用Runnable接口实现。
//创建线程类 import java.io.*; import java.net.*; public class EchoThread implements Runnable { private Socket client=null; public EchoThread(Socket client){ this.client=client; } public void run(){ PrintStream out =null; BufferedReader buf=null; try{ buf=new BufferedReader(new InputStreamReader(client.getInputStream())); out=new PrintStream(client.getOutputStream()); boolean flag=true; while(flag){ String str=buf.readLine(); if(str==null||"".equals(str)){flag=false;}else{if("bye".equals(str)){flag=false;} else{out.println("ECHO:"+str);}} } out.close(); client.close(); }catch(Exception e){} } }; import java.net.ServerSocket; import java.net.Socket;
//实现线程 public class demoThread { /** * @param args */ public static void main(String[] args)throws Exception { // TODO Auto-generated method stub ServerSocket server=null; Socket client=null; server=new ServerSocket(8888); boolean f=true; while (f){ System.out.println("服务器运行,等待客户端连接。"); client=server.accept(); new Thread(new EchoThread(client)).start(); }server.close(); } };
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步