java 使用UDP协议实现对象传输,javaudp,java使用UDP协议实
分享于 点击 23986 次 点评:95
java 使用UDP协议实现对象传输,javaudp,java使用UDP协议实
java使用UDP协议实现对象传输
这是对象代码
package udp_object_test001;import java.io.Serializable;public class Bytearray implements Serializable{private String msg;public String getMsg() { return msg;}@Overridepublic String toString() { return "Bytearray [msg=" + msg + "]";}public void setMsg(String msg) { this.msg = msg;}}
这是客户端
package udp_object_test001;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.ObjectOutputStream;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.InetSocketAddress;import java.net.SocketAddress;import java.net.SocketException;public class Client_test { public static void main(String[] args) { try { DatagramSocket da=new DatagramSocket(); Bytearray b=new Bytearray(); b.setMsg("你好啊!"); byte[] by=new byte[1024*1024]; ByteArrayOutputStream bs=new ByteArrayOutputStream(); ObjectOutputStream bo=new ObjectOutputStream(bs); bo.writeObject(b); by=bs.toByteArray(); //System.out.println(new String(by)); DatagramPacket data=new DatagramPacket(by,by.length,new InetSocketAddress("localhost", 9099) ); da.send(data); } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { // TODO Auto-generated catch block e.printStackTrace(); } }}
下面是UDP的服务器端代码:
package udp_object_test001;import java.io.ByteArrayInputStream;import java.io.IOException;import java.io.ObjectInputStream;import java.net.DatagramPacket;import java.net.DatagramSocket;import java.net.SocketException;import java.util.Arrays;public class Server_test { public static void main(String[] args) throws ClassNotFoundException { try { DatagramSocket da=new DatagramSocket(9099); byte[] by=new byte[1024*1024]; DatagramPacket data=new DatagramPacket(by, by.length); da.receive(data); //by=data.getData(); //System.out.println("=====" + new String(data.getData())); ByteArrayInputStream bs=new ByteArrayInputStream(data.getData()); ObjectInputStream os=new ObjectInputStream(bs); Bytearray m = (Bytearray)os.readObject(); // System.out.println(m+"-----"); System.out.println(m.getMsg()); //System.out.println(Arrays.toString(by)); } catch (SocketException e) { e.printStackTrace(); } catch (IOException e) { e.printStackTrace(); } }}
用户点评