SOCKET实现对象传输【java实现】

/*客户端*/
import person.*;
import java.net.InetAddress;
import java.net.Socket;

import java.io.ObjectOutput;
import java.io.ObjectOutputStream;
import java.io.OutputStream;
import java.io.Serializable;

 public class client {
    public static void main(String[] args)
    {
        try
        {
            Socket soc = new Socket(InetAddress.getLocalHost(),8020);
            OutputStream o = soc.getOutputStream();
            ObjectOutput s = new ObjectOutputStream(o);
            Person person = new Person("Tony",25,"Female","han");
            s.writeObject(person);
            s.flush();
            s.close();    
        }catch(Exception e)
        {
            System.out.println(e.getMessage());
            System.out.println("Error during Serialization");
            System.exit(1);
        }
    }
}
/*服务端*/
import java.io.InputStream;
import java.io.ObjectInput;
import java.io.ObjectInputStream;
import java.net.ServerSocket;
import java.net.Socket;

import person.Person;

public class Server {

    public static void main(String[] args) {
    ServerSocket ser = null;
    Socket soc = null;            //接受客户端连接
    Person person = null;
    try{
        ser = new ServerSocket(8020);
        soc = ser.accept();
        InputStream o = soc.getInputStream();
        ObjectInput s = new ObjectInputStream(o);
        person = (Person)s.readObject();
        s.close();
        System.out.println(person);
    }catch(Exception e)
    {
    System.out.println(e.getMessage());
    System.out.println("Errior during serialization");
    System.exit(1);
    }

    }

}
/*要传输的对象*/
import java.io.Serializable;

public class Person implements Serializable{

    public String name;
    public int age;
    public String sex;
    public String nationlity;
    
    public Person(String name,int age,String sex,String nationlity)
    {
        this.name = name;
        this.age = age;
        this.sex = sex;
        this.nationlity = nationlity;
    }
    public String toString()
    {
        return "Name:" + name + "\nAge:"+ age + "\nSex:" + sex + "\nnationality:" +
        nationlity + "\n\n";
    }
}
时间: 2024-10-01 03:19:36

SOCKET实现对象传输【java实现】的相关文章

java socket 多线程网络传输多个文件

http://blog.csdn.net/njchenyi/article/details/9072845 java socket 多线程网络传输多个文件 2013-06-10 21:26 3596人阅读 评论(1) 收藏 举报  分类: JAVA(158)  由于需要研究了下用 java socket 传输文件,由于需要传输多个文件,因此,采用了多线程设计.客户端每个线程创建一个 socket 连接,每个 socket 连接负责传输一个文件,服务端的ServerSocket每次 accept

Netty4.x中文教程系列(四) 对象传输

Netty4.x中文教程系列(四)  对象传输 我们在使用netty的过程中肯定会遇到传输对象的情况,Netty4通过ObjectEncoder和ObjectDecoder来支持. 首先我们定义一个User对象,一定要实现Serializable接口: package mjorcen.netty.object; import java.io.Serializable; /** * User: hupeng Date: 14-6-3 Time: 上午1:31 */ public class Use

Java对象的强、软、弱和虚引用原理+结合ReferenceQueue对象构造Java对象的高速缓存器

//转 http://blog.csdn.net/lyfi01/article/details/6415726 1.Java对象的强.软.弱和虚引用 在JDK 1.2以前的版本中,若一个对象不被任何变量引用,那么程序就无法再使用这个对象.也就是说,只有对象处于可触及(reachable)状态,程序才能使用它.这 就像在日常生活中,从商店购买了某样物品后,如果有用,就一直保留它,否则就把它扔到垃圾箱,由清洁工人收走.一般说来,如果物品已经被扔到垃圾箱,想再 把它捡回来使用就不可能了. 但有时候情况

在Servlet使用getServletContext()获取ServletContext对象出现java.lang.NullPointerException(空指针)异常的解决办法

今天遇到了一个在servlet的service方法中获取ServletContext对象出现java.lang.NullPointerException(空指针)异常,代码如下: 1 //获取ServletContext对象 2 ServletContext servletContext = this.getServletContext(); 这个问题很奇怪,也是第一次遇到,因为以前在servlet的doGet/doPost方法中要获取ServletContext对象时都是这样写的,也没有出现过

Socket与流传输讲解

http://blog.csdn.net/jia20003/article/details/8248221# Socket与流传输讲解,码迷,mamicode.com

Java-Runoob-面向对象:Java 继承

ylbtech-Java-Runoob-面向对象:Java 继承 1.返回顶部 1. Java 继承 继承的概念 继承是java面向对象编程技术的一块基石,因为它允许创建分等级层次的类. 继承就是子类继承父类的特征和行为,使得子类对象(实例)具有父类的实例域和方法,或子类从父类继承方法,使得子类具有父类相同的行为. 生活中的继承: 兔子和羊属于食草动物类,狮子和豹属于食肉动物类. 食草动物和食肉动物又是属于动物类. 所以继承需要符合的关系是:is-a,父类更通用,子类更具体. 虽然食草动物和食肉

JAVA中json对象转JAVA对象

json格式 {userId:'1',message:'2',create_time:'2020-03-28 20:58:11',create_date:'2020-03-28'} JAVA对象 ChatDTO.java public class ChatDTO { private String userId; private String message; private String createDate; private String createTime; } ......get set

Java学习笔记——Socket实现文件传输

我越是逃离,却越是靠近你. 我越是背过脸,却越是看见你. 我从你开始, 我在你结束. 需求:实现局域网下socket传输文件. 客户端步骤: 1.建立与服务器的连接 2.创建client输出流 3.创建输入流,绑定本地文件 4.读取文件后输出给服务器 服务器端步骤: 1.启动服务器 2.创建accept输入流 3.创建输出流绑定本地文件 4.读取客户端信息写入本地文件 1.字节流传输文件. 1 public class Client { 2 3 public static void main(S

网络编程 -- RPC实现原理 -- Netty -- 迭代版本V2 -- 对象传输

网络编程 -- RPC实现原理 -- 目录 啦啦啦 V2--Netty -- 使用序列化和反序列化在网络上传输对象 只能传输( ByteBuf, FileRegion )两种类型,因此必须将对象在发送之前进行序列化,放进ByteBuf中,客户端接收到ByteBuf时,将字节码取出,反序列化成对象. Class : Server package lime.pri.limeNio.netty.netty02.exercise; import java.net.InetSocketAddress; i