如何通过 DatagramSocket 传输一个 int
How to transfer an int via DatagramSocket
我想做一个简单的应用程序来通过 DatagramSockets 传输整数,但我不想做一些变通方法,比如使用字符串并将它们转换为 int,我想知道是否有一种特殊的方法可以通过DatagramSocket.
//sender side
public void Send() throws Exception {
DatagramSocket socket = new DatagramSocket(3000);
int x = 5;
DatagramPacket sendPacket = ...
socket.send(sendPacket);
}
//reeceiver side
public void Receive() throws Exception {
DatagramSocket socket = new DatagramSocket(2000);
DatagramPacket receivePacket = ...
socket.receive(receivePacket);
int x = (int) receivePacket;
}
这段代码的一部分只是为了演示我想要的。我想知道如何在发送方写入一个 int 以及如何在接收方读取这个 int。
使用 ByteBuffer
.
SocketAddress address = ...
int value = ...
byte[] buf = ByteBuffer.allocate(Integer.BYTES).putInt(value).array();
socket.send(new DatagramPacket(buf, buf.length, address));
我想做一个简单的应用程序来通过 DatagramSockets 传输整数,但我不想做一些变通方法,比如使用字符串并将它们转换为 int,我想知道是否有一种特殊的方法可以通过DatagramSocket.
//sender side
public void Send() throws Exception {
DatagramSocket socket = new DatagramSocket(3000);
int x = 5;
DatagramPacket sendPacket = ...
socket.send(sendPacket);
}
//reeceiver side
public void Receive() throws Exception {
DatagramSocket socket = new DatagramSocket(2000);
DatagramPacket receivePacket = ...
socket.receive(receivePacket);
int x = (int) receivePacket;
}
这段代码的一部分只是为了演示我想要的。我想知道如何在发送方写入一个 int 以及如何在接收方读取这个 int。
使用 ByteBuffer
.
SocketAddress address = ...
int value = ...
byte[] buf = ByteBuffer.allocate(Integer.BYTES).putInt(value).array();
socket.send(new DatagramPacket(buf, buf.length, address));