JAVA SOCKET 序列化反序列化

以下是客户端序列化后将对象发送给服务端

public ResponseBean r(int b)  {
		
		try {
			Socket socket = new Socket(Config.ServerIP,Config.ServerPort);
			
			RequestBean rb = new RequestBean();
			rb.password = this.password;
			rb.ctrl = b;
			OutputStream outputStream = socket.getOutputStream();
			ObjectOutputStream objectOutputStream = new ObjectOutputStream(outputStream);
			
			objectOutputStream.writeObject(rb);
			objectOutputStream.flush();
			objectOutputStream.close();
			//socket.close();
		} catch (UnknownHostException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}

  以下是服务端接收到序列化之后进行反序列化

 1 public void r(Socket s){    //进行管理的函数
 2         try {
 3             InputStream inputStream = s.getInputStream();
 4 
 5 
 6             ObjectInputStream objectInputStream = new ObjectInputStream(inputStream);
 7             try {
 8                 RequestBean rb =(RequestBean) objectInputStream.readObject();
 9                 System.out.println(rb.password);
10             } catch (ClassNotFoundException e) {
11                 // TODO Auto-generated catch block
12                 System.out.println("err 收到客户端的请求不能发序列化到RequestBean");
13                 //e.printStackTrace();
14             }
15             
16             
17             
18         } catch (IOException e) {
19             // TODO Auto-generated catch block
20             e.printStackTrace();
21         }
22     }

以下是序列化对象记得要实现Serializable接口,不然会出现unknown source这样的错误

package cn.fucihua.Model.Bean;

import java.io.Serializable;

public class RequestBean implements Serializable{ //序列化之后传给代理池服务的对象
    public String password = "";
    public int ctrl = 0;
        /*
         *  1     开启服务
         *  2    关闭服务
         *  3    重启服务
         *  0    查询状态
         * */
}        

服务端客户端的类包名记得要一致

转载于:https://www.cnblogs.com/chglory/p/6884447.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值