我有一個冗長的文本文件,我試圖通過本地主機上的UDP進行傳輸,所以很自然地,我必須打破字節緩衝區來發送數據包中的文件。數據包的getOffset()在接收端返回0
我遇到的問題是這樣的:
在服務器端,我發送一個數據包與偏移量設定爲500說字節緩衝區:
byte[] buf = text.getBytes();
InetAddress address = InetAddress.getByName("localhost");
DatagramPacket packet = new DatagramPacket(buf, 500, BYTES_PER_PACKET, address, udp_port_num);
System.out.println("Offset at server: " + packet.getOffset());
udpSocket.send(packet);
print語句返回的500
預期的答案,但隨後在客戶端:
byte[] buf = new byte[BYTES_PER_PACKET];
DatagramPacket packet = new DatagramPacket(buf, BYTES_PER_PACKET);
udpSocket.receive(packet);
String received = new String(packet.getData());
System.out.println(received);
System.out.println("Offset: " + packet.getOffset());
它從接收到的文件的偏移量打印正確的文本,但是packet.getOffset()總是返回0.爲什麼它不是從服務器返回相同的500和/或我怎樣才能讓它返回相同的500從服務器?
在此先感謝