私は実際に、UDP を介して C アプリケーションから Java アプリケーションに構造体を送信したいと考えています。
そのような構造体:
typedef struct {
type1 liste1;
type2 liste2;
type3 liste3;
type4 liste4;
}liste;
また、type1、2、3、4 も構造体であり、それ自体が他の構造体も含みます。
今のところ、そのような構造を送信するだけです(リストは私の構造です):
sendto(socketOut, &(liste), sizeof(liste), 0, (SOCKADDR *) &(recvAddrAck),sizeof(recvAddrAck));
そして、JavaアプリケーションでそのようなUDPを取得します:
DatagramSocket socket = new DatagramSocket(SERVERPORT);
byte[] buf = new byte[1500];
DatagramPacket packet = new DatagramPacket(buf, buf.length);
while (true) {
socket.receive(packet);
data = packet.getData();
}
だから、私の質問は、どのようにデータをデコードするのですか? 私は UDP プロトコルの初心者ですが、友人の Google と一緒に調査を行ったところ、C 側では htons/htonl/... 、Java では ByteArrayInputStream/DataInputStream ... のようなものがいくつか見つかりました。側。しかし、特にJava側で、これをいつどのように使用する必要があるかがよくわかりません。
私の質問が理解できることを願っています
ありがとう