首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 复习指导 >

JAVA技巧:一个方便使用javaSocket的插件(2)

2009-02-23 
JAVA技巧

    //发送二进制文件
  public static void test1() {
  //服务端
  new Thread(new Runnable() {
  public void run() {
  Socket socket = new Socket(7000);
  byte[] v = socket.getFileValue(3);
  System.out.println(v[0] + "\n" + v[1] + "\n" + v[2]);
  socket.close();
  }
  }).start();
  //客户端
  try {
  Socket socket = new Socket(InetAddress.getLocalHost(), 7000);
  socket.sendFileValue(new byte[]{1, 1, 0});
  socket.close();
  } catch (UnknownHostException ex) {
  Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
  }
  }
  //直接发送文件
  public static void test2() {
  //接受文件的服务器
  new Thread(new Runnable() {
  public void run() {
  Socket socket = new Socket(7505).bindSocket();
  java.io.DataInputStream in = socket.getFileStream();
  java.io.DataOutputStream out = null;
  try {
  out = new java.io.DataOutputStream(new java.io.FileOutputStream("G:/123.jpg"));
  } catch (FileNotFoundException ex) {
  Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
  }
  int i = 0;
  try {
  while ((i = in.read()) != -1) {
  out.write(i);
  System.out.print(i);
  }
  } catch (IOException ex) {
  Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
  } finally {
  try {
  out.flush();
  out.close();
  } catch (IOException ex) {
  Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
  }
  socket.close();
  }
  }
  }).start();
  //发送文件的客户端
  try {
  Socket socket = new Socket(InetAddress.getLocalHost(), 7505);
  try {
  socket.sendFileStream(new java.io.DataInputStream(new java.io.FileInputStream("G:/106372200_2.jpg")));
  } catch (FileNotFoundException ex) {
  Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
  }finally{
  socket.close();
  }
  } catch (UnknownHostException ex) {
  Logger.getLogger(Main.class.getName()).log(Level.SEVERE, null, ex);
  }
  }
  }
  运行后显示:
  init:
  deps-jar:
  Compiling 1 source file to G:\java\SocketTest\build\classes
  compile:
  run:
  对客户端文字发送:
  SHOUCHAN-PC:50232 - SAY: Hello World
  socket1: server-_ .........
  SHOUCHAN-PC:50233 - SAY: Hello World
  socket2: server-_ .........
  SHOUCHAN-PC:50234 - SAY: Hello World
  socket3: server-_ .........
  SHOUCHAN-PC:50232 - SAY: bye
  socket1: server-_ .........
  SHOUCHAN-PC:50235 - SAY: Hello World
  socket4: server-_ .........
  SHOUCHAN-PC:50233 - SAY: bye
  socket2: server-_ .........
  SHOUCHAN-PC:50235 - SAY: bye
  socket4: server-_ .........
  SHOUCHAN-PC:50234 - SAY: bye
  socket3: server-_ .........
  成功生成(总时间:1 秒)

 


3COME考试频道为您精心整理,希望对您有所帮助,更多信息在http://www.reader8.com/exam/

热点排行