/**
*Title:TestUDPServer_10.java
*Description:1、用UDF接收数据报包的方式。2、怎样接收长整型的数据。
*@Copyright:
*@Company:
*@autor:firefly
*@version:1.0
*@time:2012.10.1
*/
import java.net.*;
import java.io.*;
public class TestUDPServer_10 {
public static void main(String[] args) throws Exception {
byte buf[] = new byte[1024];
DatagramPacket dp = new DatagramPacket(buf, buf.length);//构造 DatagramPacket,用来接收长度为 length 的数据包,length为实际的长度不包含空的字节。
DatagramSocket ds = new DatagramSocket(5678);//创建数据报套接字并将其绑定到本地主机上的指定端口。
while(true) {
ds.receive(dp);//从此套接字接收数据报包。
ByteArrayInputStream bais = new ByteArrayInputStream(buf);
DataInputStream dis = new DataInputStream(bais);
System.out.println(dis.readLong());//从包含的输入流中读取此操作需要的字节.
//System.out.println(new String(buf, 0, dp.getLength()));//(另一个函数)返回将要发送或接收到的数据的长度,不是长度1024.
}
}
}