UDP 전송 시리얼화된 객체
2676 단어 서열화
서비스 포트:
package com.udp;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UDPServer {
public static void main(String[] args) throws IOException {
DatagramSocket ds = new DatagramSocket(8081);
byte[] buf = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);
while (true) {
System.out.println("for receive....");
ds.receive(dp);
Student s = (Student)b2o(dp.getData());
System.out.println(s.name);
}
}
public static Object b2o(byte[] buffer) {
Object obj = null;
try {
ByteArrayInputStream buffers = new ByteArrayInputStream(buffer);
ObjectInputStream in = new ObjectInputStream(buffers);
obj = in.readObject();
in.close();
} catch (Exception e) {
System.out.println("error");
}
return obj;
}
}
클라이언트:
package com.udp;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.ObjectOutputStream;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.InetSocketAddress;
public class UDPClient {
public static void main(String[] args) throws IOException {
InetSocketAddress isa = new InetSocketAddress(InetAddress
.getByName("192.168.1.102"), 8081);
DatagramSocket ds = new DatagramSocket();
Student student = new Student();
student.name = "denghong";
DatagramPacket dp = new DatagramPacket(o2b(student), o2b(student).length, isa);
ds.send(dp);
}
public static byte[] o2b(Student s) {
ByteArrayOutputStream buffers = new ByteArrayOutputStream();
try {
ObjectOutputStream out = new ObjectOutputStream(buffers);
out.writeObject(s);
out.close();
} catch (Exception e) {
System.out.println("error");
return null;
}
return buffers.toByteArray();
}
}
시리얼화된 객체
package com.udp;
import java.io.Serializable;
public class Student implements Serializable{
private static final long serialVersionUID = -5971668520303705956L;
public String name;
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Java 정렬화 및 반정렬화 인스턴스 상세 정보Java 정렬화 및 반정렬화 인스턴스 상세 정보 분포식 응용에서 대상은 서열화를 거쳐야만 각 분포식 구성 요소 사이에서 전송할 수 있다. 이것은 두 가지 측면의 기술인 송신자가 대상을 서열화하고 수용자가 대상을 반서...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.