我想做一个简单的应用程序来通过DatagramSockets传输整数,但是我不想做诸如使用Strings并将其强制转换为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。
答案 0 :(得分:0)
使用ByteBuffer
。
SocketAddress address = ...
int value = ...
byte[] buf = ByteBuffer.allocate(Integer.BYTES).putInt(value).array();
socket.send(new DatagramPacket(buf, buf.length, address));