Java中怎么实现多客户端通信
今天就跟大家聊聊有关Java 中怎么实现多客户端通信,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。
浪卡子网站建设公司创新互联,浪卡子网站设计制作,有大型网站制作公司丰富经验。已为浪卡子上千提供企业网站建设服务。企业网站搭建\外贸营销网站建设要多少钱,请找那个售后服务好的浪卡子做网站的公司定做!
来看服务端的代码:
import java.net.*; import java.io.*; import java.util.*; public class Jserver3 { private ServerSocket server; List sManager = new ArrayList(); public Jserver3(){} void startServer() //运行服务器 { try { server=new ServerSocket(719); System.out.println("服务器套接字已创建成功!"); while(true) { Socket socket=server.accept(); System.out.println("已经与客户端连接"); new J_Thread(socket).start(); sManager.add(socket); System.out.println("当前客户端连结数:"+sManager.size()); } }catch(Exception e){}finally { try { server.close(); }catch(Exception e){} } } public static void main(String[] args) { Jserver3 server=new Jserver3(); server.startServer(); } class J_Thread extends Thread//与客户端进行通信的线程类 { Socket socket; //套接字引用变量 private DataInputStream reader; //套接字输入流 private DataOutputStream writer; //套接字输出流 J_Thread(Socket socket) //构造函数 { this.socket=socket; } public void run() { try { reader=new DataInputStream(socket.getInputStream());//获取套接字的输入流 writer=new DataOutputStream(socket.getOutputStream());//获取套接字的输出流 String msg; while((msg=reader.readUTF())!=null)//如果收到客户端发来的数据 { //向客户端发送信息 writer.writeUTF("您的情书已经收到"); writer.flush(); System.out.println("来自客户端:"+msg); } }catch(Exception e){}finally { try { sManager.remove(socket); //删除套接字 //关闭输入输出流及套接字 if(reader!=null)reader.close(); if(writer!=null)writer.close(); if(socket!=null)socket.close(); reader=null; writer=null; socket=null; System.out.println("客户端离开");//向屏幕输出相关信息 System.out.println("当前客户端的连接数:"+sManager.size()); }catch(Exception e){} } } } } import java.net.*; import java.io.*; import java.util.*; public class Jserver3 { private ServerSocket server; List sManager = new ArrayList(); public Jserver3(){} void startServer() //运行服务器 { try { server=new ServerSocket(719); System.out.println("服务器套接字已创建成功!"); while(true) { Socket socket=server.accept(); System.out.println("已经与客户端连接"); new J_Thread(socket).start(); sManager.add(socket); System.out.println("当前客户端连结数:"+sManager.size()); } }catch(Exception e){}finally { try { server.close(); }catch(Exception e){} } } public static void main(String[] args) { Jserver3 server=new Jserver3(); server.startServer(); } class J_Thread extends Thread//与客户端进行通信的线程类 { Socket socket; //套接字引用变量 private DataInputStream reader; //套接字输入流 private DataOutputStream writer; //套接字输出流 J_Thread(Socket socket) //构造函数 { this.socket=socket; } public void run() { try { reader=new DataInputStream(socket.getInputStream());//获取套接字的输入流 writer=new DataOutputStream(socket.getOutputStream());//获取套接字的输出流 String msg; while((msg=reader.readUTF())!=null)//如果收到客户端发来的数据 { //向客户端发送信息 writer.writeUTF("您的情书已经收到"); writer.flush(); System.out.println("来自客户端:"+msg); } }catch(Exception e){}finally { try { sManager.remove(socket); //删除套接字 //关闭输入输出流及套接字 if(reader!=null)reader.close(); if(writer!=null)writer.close(); if(socket!=null)socket.close(); reader=null; writer=null; socket=null; System.out.println("客户端离开");//向屏幕输出相关信息 System.out.println("当前客户端的连接数:"+sManager.size()); }catch(Exception e){} } } } }
看完上述内容,你们对Java 中怎么实现多客户端通信有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注创新互联行业资讯频道,感谢大家的支持。
网页名称:Java中怎么实现多客户端通信
文章转载:http://ybzwz.com/article/jjhdpc.html