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

来源:互联网 发布:淘宝联盟怎么设置 编辑:程序博客网 时间:2024/06/05 06:27

(http://zxf-noimp.iteye.com/blog/1125401)


这篇文章主要实现的是j:通过socket传递Java对象。采用的方法就是对象序列化。方法是:通过socke

t建立c/s连接;通过ObjectOutputStream,ObjectOutputStream 读写对象。唯一需要留意的是传递的java

对象需要实现Serializable标记接口。

服务端代码:

package com.yt.manager.Serializable;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.net.ServerSocket;import java.net.Socket;/** * @Description:服务器端Socket * @ClassName: Server * @Project: base-info * @Author: zxf * @Date: 2011-7-15 */public class Server {public static void main(String[] args) {ServerSocket serverSocket = null;Socket socket = null;ObjectInputStream objInputStream = null;ObjectOutputStream objOutputStream = null;try {serverSocket = new ServerSocket(11111);System.out.println("Server服务已启动。。。。");socket = serverSocket.accept();// 对客户端使用 ObjectOutputStream 写入的对象进行反序列化objInputStream = new ObjectInputStream(socket.getInputStream());Customer cusotmer = (Customer) objInputStream.readObject();cusotmer.setName("你好:" + cusotmer.getName());objOutputStream = new ObjectOutputStream(socket.getOutputStream());objOutputStream.writeObject(cusotmer);} catch (Exception e) {e.printStackTrace();} finally {try {serverSocket.close();socket.close();} catch (IOException e) {e.printStackTrace();}}}} 
客户端代码:

package com.yt.manager.Serializable;import java.io.IOException;import java.io.ObjectInputStream;import java.io.ObjectOutputStream;import java.net.ServerSocket;import java.net.Socket;/** * @Description:服务器端Socket * @ClassName: Server * @Project: base-info * @Author: zxf * @Date: 2011-7-15 */public class Server {public static void main(String[] args) {ServerSocket serverSocket = null;Socket socket = null;ObjectInputStream objInputStream = null;ObjectOutputStream objOutputStream = null;try {serverSocket = new ServerSocket(11111);System.out.println("Server服务已启动。。。。");socket = serverSocket.accept();// 对客户端使用 ObjectOutputStream 写入的对象进行反序列化objInputStream = new ObjectInputStream(socket.getInputStream());Customer cusotmer = (Customer) objInputStream.readObject();cusotmer.setName("你好:" + cusotmer.getName());objOutputStream = new ObjectOutputStream(socket.getOutputStream());objOutputStream.writeObject(cusotmer);} catch (Exception e) {e.printStackTrace();} finally {try {serverSocket.close();socket.close();} catch (IOException e) {e.printStackTrace();}}}}

package com.yt.manager.Serializable;import java.io.Serializable;/** * @Description:实现序列化接口 * @ClassName: Customer * @Project: base-info * @Author: zxf * @Date: 2011-5-30 */public class Customer implements Serializable {private static final long serialVersionUID = 1L;public String name;public int age;public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}}



0 0
原创粉丝点击