Java UDP协议传对象
2011-09-21 15:12
435 查看
首先所传对象必须是可序列化的
public class Data implements Serializable {
}
发送对象
DatagramSocket socket = new DatagramSocket();
//DatagramPacket(byte[] buf, int length, int length, InetAddress address, int port)
DatagramPacket packet = new DatagramPacket(new byte[0], 0, InetAddress.getByName("127.0.0.1"), 1688);
Data data = new Data();
//对象->对象流->字节数组流->字节数组
ByteArrayOutputStream byteArrayStream = new ByteArrayOutputStream();
ObjectOutputStream objectStream = new ObjectOutputStream(byteArrayStream);
objectStream.writeObject(data);
byte[] arr = byteArrayStream.toByteArray();
packet.setData(arr);//填充DatagramPacket
socket.send(packet);//发送
objectStream.close();
byteArrayStream.close();
接收对象
DatagramSocket socket = new DatagramSocket(1688);//监听端口号,1688
byte[] buff = new byte[1024];
DatagramPacket packet = new DatagramPacket(buff, buff.length);
socket.receive(packet);
ByteArrayInputStream byteArrayStram = new ByteArrayInputStream(buff);
ObjectInputStream objectStream = new ObjectInputStream(byteArrayStram);
Data data = (Data) objectStream.readObject();
objectStream.close();
byteArrayStram.close();
public class Data implements Serializable {
}
发送对象
DatagramSocket socket = new DatagramSocket();
//DatagramPacket(byte[] buf, int length, int length, InetAddress address, int port)
DatagramPacket packet = new DatagramPacket(new byte[0], 0, InetAddress.getByName("127.0.0.1"), 1688);
Data data = new Data();
//对象->对象流->字节数组流->字节数组
ByteArrayOutputStream byteArrayStream = new ByteArrayOutputStream();
ObjectOutputStream objectStream = new ObjectOutputStream(byteArrayStream);
objectStream.writeObject(data);
byte[] arr = byteArrayStream.toByteArray();
packet.setData(arr);//填充DatagramPacket
socket.send(packet);//发送
objectStream.close();
byteArrayStream.close();
接收对象
DatagramSocket socket = new DatagramSocket(1688);//监听端口号,1688
byte[] buff = new byte[1024];
DatagramPacket packet = new DatagramPacket(buff, buff.length);
socket.receive(packet);
ByteArrayInputStream byteArrayStram = new ByteArrayInputStream(buff);
ObjectInputStream objectStream = new ObjectInputStream(byteArrayStram);
Data data = (Data) objectStream.readObject();
objectStream.close();
byteArrayStram.close();
相关文章推荐
- java中网络编程------UDP协议(实现步骤)DatagramSocket对象
- 在Java中使用UDP协议编程的相关类(转)
- java使用UDP协议传输数据
- TCP协议与UDP协议之间的九个区别-JAVA网络面试题
- UDP协议实现对等通讯Java+RSA加密解密传送信息实现
- 黑马程序员—java技术blog—第二篇 UDP协议及基础应用
- java基础学习网络编程之UDP和TCP协议 十四 -3
- 基于UDP协议的Java聊天小程序!
- 用Java编写的UDP协议简单聊天室
- 使用UDP协议的JAVA网络聊天程序
- 使用Java JDK中Java.net包控制UDP协议
- Android(java)学习笔记80:UDP协议发送数据
- Java下UDP协议的代码讲解
- Java网路编程____UDP协议Socket客户端服务器聊天室列子
- JAVA基础知识之网络编程——-基于UDP协议的通信例子
- java 网络编程三要素之协议(UDP协议):
- UDP协议发送对象
- Java基于socket服务实现UDP协议的方法
- 在Java中实现UDP协议编程的方法
- java中进行socket编程实现tcp、udp协议总结