Your Ad Here
首页 | 编程语言 | 网站建设 | 游戏天堂 | 冲浪宝典 | 网络安全 | 操作系统 | 软件时空 | 硬件指南 | 病毒相关 | IT 认证
软讯网络 > 编程语言 > Java > 通过socket连接传递java对象(对象序列化)
【标  题】:通过socket连接传递java对象(对象序列化)
【关键字】:socket,java
【来  源】:http://blog.csdn.net/echohfut/archive/2006/04/08/655588.aspx

通过socket连接传递java对象(对象序列化)

Your Ad Here

这篇文章主要实现的是j:通过socket传递Java对象。采用的方法就是对象序列化。方法是:通过socket建立c/s连接;通过ObjectOutputStream,ObjectOutputStream 读写对象。唯一需要留意的是传递的java 对象需要实现Serializable标记接口。代码包括:java对象类,Employee; socket client类;server类。主要代码如下:

java对象类:

import java.io.*;
import java.util.*;

public class Employee implements Serializable {

   private int employeeNumber;
   private String employeeName;

   Employee(int num, String name) {
      employeeNumber = num;
      employeeName= name;
   }

    public int getEmployeeNumber() {
      return employeeNumber ;
   }

   public void setEmployeeNumber(int num) {
      employeeNumber = num;
   }

   public String getEmployeeName() {
      return employeeName ;
   }

   public void setEmployeeName(String name) {
      employeeName = name;
   }
}

client类:

import java.io.*;
import java.net.*;

public class Client {

   public static void main(String[] arg) {
      try {
         Employee joe = new Employee(150, "Joe");

         System.out.println("employeeNumber= "
                            + joe .getEmployeeNumber());
         System.out.println("employeeName= "
                            + joe .getEmployeeName());

         Socket socketConnection = new Socket("127.0.0.1", 11111);


         ObjectOutputStream clientOutputStream = new
            ObjectOutputStream(socketConnection.getOutputStream());
         ObjectInputStream clientInputStream = new 
            ObjectInputStream(socketConnection.getInputStream());

         clientOutputStream.writeObject(joe);

         joe= (Employee)clientInputStream.readObject();

         System.out.println("employeeNumber= "
                            + joe .getEmployeeNumber());
         System.out.println("employeeName= "
                            + joe .getEmployeeName());

         clientOutputStream.close();
         clientInputStream.close();

      } catch (Exception e) {System.out.println(e); }
   }
}

Server类:

import java.io.*;
import java.net.*;

public class Server {

   public static void main(String[] arg) {

      Employee employee = null;

      try {

         ServerSocket socketConnection = new ServerSocket(11111);

         System.out.println("Server Waiting");

         Socket pipe = socketConnection.accept();

         ObjectInputStream serverInputStream = new   
            ObjectInputStream(pipe.getInputStream());

         ObjectOutputStream serverOutputStream = new
            ObjectOutputStream(pipe.getOutputStream());

         employee = (Employee )serverInputStream.readObject();

         employee .setEmployeeNumber(256);
         employee .setEmployeeName("John");

         serverOutputStream.writeObject(employee);

         serverInputStream.close();
         serverOutputStream.close();


      }  catch(Exception e) {System.out.println(e);
      }
   }

}

The Three Faces of SOA:【上一篇】
Jbuilder中文问题解决:【下一篇】
【相关文章】
  • 用SOCKET来传输文件的PERL脚本
  • SVG + Javascript + ASP.NET + WebService开发楼宇管理系统(四)
  • 數據在頁面間的傳遞:javascript
  • Sockets库尝试之一
  • java正则表达式应用系列(查询)
  • Java把内容输出到一个EXCEL文件
  • Java类型转换
  • java时间转换
  • javascript 的特殊表示法
  • Java模式--工厂模式的简单用例(转)
  • 【随机文章】
  • 避免配件烧毁!切记要断电维修电脑!
  • 初步编写JSP的心得
  • Web服务器大扫除_四、不可运行的进程
  • 今天学到的几个Ruby技巧
  • Dump()
  • 光端机
  • 在C#.net中如何操作XML
  • 用户注册及跟踪代码(三)
  • Visual Studio 2005入门 之 类的概述[视频]
  • 西南石油大学无线校园网络规划
  • 【相关评论】
    没有相关评论
    【发表评论】
    姓名:
    邮件:
    随机码*
    评论*
          
    |  首 页  |  版权声明  |  联系我们   |  网站地图  |
    CopyRight © 2004-2007 bbb软讯网络 All Rigths Reserved.