打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

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

这篇文章主要实现的是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 = newObjectOutputStream(socketConnection.getOutputStream());ObjectInputStream clientInputStream = newObjectInputStream(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);
      }
   }

}


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
利用JAVA API函数实现数据的压缩与解压缩(4)
JAVA对象序列化机制
初学者第73节网络编程-ServerSocket(二)
Java对象序列化总结
Serializable接口
Java 序列化
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服