我的JAVA工具之网络传输对象
2013-04-03 10:08
330 查看
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.net.ServerSocket;
import java.net.Socket;
public class Tet {
public static void main(String[] args) {
new Server().start();
new Client().start();
}
}
class TestVO implements Serializable {
private String name;
private int id;
public TestVO(int id, String name) {
super();
this.id = id;
this.name = name;
}
public String toString() {
return "id:" + id + " name:" + name;
}
}
class Client extends Thread {
public void run() {
try {
Socket client = new Socket("localhost", 8888);
ObjectInputStream ois = new ObjectInputStream(client.getInputStream());
TestVO vo = (TestVO) ois.readObject();
System.out.println("client read:" + vo);
ois.close();
client.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
class Server extends Thread {
public void run() {
try {
ServerSocket ss = new ServerSocket(8888);
Socket server = ss.accept();
ObjectOutputStream oos = new ObjectOutputStream(server.getOutputStream());
TestVO vo = new TestVO(1, "good job");
oos.writeObject(vo);
System.out.println("server write:" + vo);
oos.close();
server.close();
ss.close();
} catch (Exception e) {
// TODO: handle exception
}
}
}
输出:
server write:id:1 name:good job
client read:id:1 name:good job
import java.io.ObjectOutputStream;
import java.io.Serializable;
import java.net.ServerSocket;
import java.net.Socket;
public class Tet {
public static void main(String[] args) {
new Server().start();
new Client().start();
}
}
class TestVO implements Serializable {
private String name;
private int id;
public TestVO(int id, String name) {
super();
this.id = id;
this.name = name;
}
public String toString() {
return "id:" + id + " name:" + name;
}
}
class Client extends Thread {
public void run() {
try {
Socket client = new Socket("localhost", 8888);
ObjectInputStream ois = new ObjectInputStream(client.getInputStream());
TestVO vo = (TestVO) ois.readObject();
System.out.println("client read:" + vo);
ois.close();
client.close();
} catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
}
}
class Server extends Thread {
public void run() {
try {
ServerSocket ss = new ServerSocket(8888);
Socket server = ss.accept();
ObjectOutputStream oos = new ObjectOutputStream(server.getOutputStream());
TestVO vo = new TestVO(1, "good job");
oos.writeObject(vo);
System.out.println("server write:" + vo);
oos.close();
server.close();
ss.close();
} catch (Exception e) {
// TODO: handle exception
}
}
}
输出:
server write:id:1 name:good job
client read:id:1 name:good job
相关文章推荐
- Java网络编程_传输实体类对象
- Java 网络编程 之 传输对象 Serialization 序列化
- 案例三:java网络编程(对象流传输)
- JAVA基础 day25 网络编程 IP类 UDP,TCP传输学习 简易聊天工具 TCP并发学习
- JAVA 通过网络传输对象(对象序列化)简单示例
- JAVA 中进行网络通信时,通信的程序两端要传输的对象,不仅要序列化,而且这个对象所属的类的名字要完全一样,连包的名字都得一样
- 什么是序列化?一句话:就是将java对象固化成文件存起来,这样就java对象就被固话了,可以任意的存储和网络传输了,而java对象是暂时存在内存里的,是没办法传输的,因为是虚拟的,并不是实实在在的文件
- java 网络传输
- Java网络编程由浅入深五 Java对象的序列化与反序列
- Apache CXF实战之三:传输Java对象
- Java网络编程-对象编解码方案、优劣对比
- Linux命令之curl - 强大的网络传输工具
- Java使用excel工具类导出对象功能示例
- java对象判断是否为空工具类
- 强大的网络传输工具cURL和libcurl
- Java 常用工具类(7) : 对象与json之间的转换
- java构建一个格式稍微复杂点的JSON对象附查看json格式的小工具
- java对象的内存布局(一):计算java对象占用的内存空间以及java object layout工具的使用
- Java中网络文件传输
- 服务器使用Gzip压缩数据,加快网络传输(Java 例子)