Java Socket服务器关键代码配置手册

Java Socket服务器如何才能不出什么差错呢?其实注意相关的关键代码就能解决这一问题,下面我们
首页 新闻资讯 行业资讯 Java Socket服务器关键代码配置手册

Java Socket服务器在很多人使用的时候会出现或多或少的问题,其实在关键代码中有不少的问题需要我们处理,下面我们就看看如何才能更好的使用Java Socket服务器的相关代码。

Procedure2相比procedure1加入了多线程的部分,一个线程负责专门去接受消息,另一个负责发送消息。当服务器端负责接收的线程因为readUTF()被阻塞不能发送消息时,负责发送消息的线程让服务器端也能发送消息。同样的原理,客户端也如此。

服务器端加入的关键代码如下:

复制

class ServerReadThread extends Thread{  private DataInputStream dis;  public ServerReadThread(DataInputStream dis){  this.dis = dis;  }  public void run(){  String info;  try{  while(true){  info = dis.readUTF();  System.out.println("客户端说:" + info);  if(info.equals("goodbye")){  System.out.println("客户端拜拜了!");  System.exit(0);  }  }  }catch(IOException e){  e.printStackTrace();  }  }  }  class ServerWriteThread extends Thread{  private DataOutputStream dos;  private BufferedReader br;  public ServerWriteThread(DataOutputStream dos,BufferedReader br){  this.dos = dos;  this.br = br;  }  public void run(){  String info;  try{  while(true){  info = br.readLine();  dos.writeUTF(info);  if(info.equals("bye")){  System.exit(0);  }  }  }catch(IOException e){  e.printStackTrace();  }  }  }
  • 1.

  • 2.

  • 3.

  • 4.

  • 5.

  • 6.

  • 7.

  • 8.

  • 9.

  • 10.

  • 11.

  • 12.

  • 13.

  • 14.

  • 15.

  • 16.

  • 17.

  • 18.

  • 19.

  • 20.

  • 21.

  • 22.

  • 23.

  • 24.

  • 25.

  • 26.

  • 27.

  • 28.

  • 29.

  • 30.

  • 31.

  • 32.

  • 33.

  • 34.

  • 35.

  • 36.

  • 37.

  • 38.

  • 39.

  • 40.

  • 41.

  • 42.

  • 43.

负责接受的类ServerReadThread继承Thread,并构造一个DataInputStream对象参数的构造函数,接收对方信息。负责发送的类ServerWriteThread继承Thread,并构造一个DataInputStream对象和BufferedRead对象的双参数的构造函数,负责发送消息。new ServerReadThread(dis).start();new ServerWriteThread(dos,br).start();开启两个线程。客户端原理与服务器端类似,就不做更详细的讲解。

思考:procedure2相比procedure1已经实现了多线程聊天,虽只是运行在控制台上,但麻雀虽小,五脏俱全,这已经体现出了java Socket编程以及多线程的核心思想,此课程设计的目的已经达到。Java Socket服务器为实现更加人性化的效果,我引入javaGUI的组件awt,与之相关的技术也就随之引入了,比如基于事件的驱动,还有awt各个组件之间的调用。与此同时,代码的分布和组织结构都要做相应的调整。

【编辑推荐】

  1. Java Socket通信如何进行通用服务器代码编写

  2. Java socket通信与C++之间的不解之缘

  3. Java Socket对象原理的详细介绍

  4. Java Socket服务端具体命令编写

  5. Java Socket通讯如何进行客户端的信息通信

7    2010-03-19 15:01:23    Java Socket服务器