首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 认证考试 > JAVA认证 >

Java认证网络socket编程详解6--开发客户端代码(1)

2012-12-26 
开发客户端代码

  开发客户端代码

  我们可以按以下的步骤,编写的基于多线程的客户端代码。

  第一步,在 “TCPSocket”项目里,新建一个名为ThreadClient.java的代码文件。同样是编写package和import部分的代码,用来打包和引入包文件,如下所示:

  package tcp;

  import java.net.*;

  import java.io.*;

  第二步,编写线程执行主体的ClientThreadCode类,同样,这个类通过继承Thread来实现线程的功能。

  class ClientThreadCode extends Thread

  {

  //客户端的socket

  private Socket socket;

  //线程统计数,用来给线程编号

  private static int cnt = 0;

  private int clientId = cnt++;

  private BufferedReader in;

  private PrintWriter out;

  //构造函数

  public ClientThreadCode(InetAddress addr)

  {

  try

  {

  socket = new Socket(addr, 3333);

  }

  catch(IOException e)

  {

  e.printStackTrace();

  }

  //实例化IO对象

  try

  {

  in = new BufferedReader(

  new InputStreamReader(socket.getInputStream()));

  out = new PrintWriter(

  new BufferedWriter(new OutputStreamWriter(socket.getOutputStream())), true);

  //开启线程

  start();

  }

  catch(IOException e)

  {

  //出现异常,关闭socket

  try

  {

  socket.close();

  }

  catch(IOException e2)

  {

  e2.printStackTrace();

  }

  }

  }

  //线程主体方法

  public void run()

  {

  try

  {

  out.println("Hello Server,My id is " + clientId );

  String str = in.readLine();

  System.out.println(str);

  out.println("byebye");

  }

  catch(IOException e)

  {

  e.printStackTrace();

  }

  finally

  {

  try

  {

  socket.close();

  }

  catch(IOException e)

  {

  e.printStackTrace();

  }

  }

  }

  }

热点排行