一,DatagramSocket类;DatagramPacket类;InetAddress 类
构造函数 public DatagramSocket();public DatagramSocket(int port);
public DatagramSocket(InetAddress laddr);
close()方法
send(DatagramPacket p)
receive(DatagramPacket p)
接受方的 DatagramPacket public DatagramPacket(byte[] buf, int length)发送方的 DatagramPacket public DatagramPacket(byte[] buf, int length, InetAddress address, int port
最简单的UDP程序:
发送程序:UdpSend.java
import
java.net.
*
;
public class UdpSend
... {
public static void main(String [] args) throws Exception
...{
DatagramSocket ds=new DatagramSocket();
String str="hello world";
DatagramPacket dp=new DatagramPacket(str.getBytes(),str.length(),
InetAddress.getByName("192.168.0.25"),3000);
ds.send(dp);
ds.close();
}
}
public class UdpSend
... {
public static void main(String [] args) throws Exception
...{
DatagramSocket ds=new DatagramSocket();
String str="hello world";
DatagramPacket dp=new DatagramPacket(str.getBytes(),str.length(),
InetAddress.getByName("192.168.0.25"),3000);
ds.send(dp);
ds.close();
}
}
接收程序:UdpRecv.java
import
java.net.
*
;
public class UdpRecv
... {
public static void main(String [] args) throws Exception
...{
DatagramSocket ds=new DatagramSocket(3000);
byte [] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf,1024);
ds.receive(dp);
String strRecv=new String(dp.getData(),0,dp.getLength()) +
" from " + dp.getAddress().getHostAddress()+":"+dp.getPort();
System.out.println(strRecv);
ds.close();
}
}
public class UdpRecv
... {
public static void main(String [] args) throws Exception
...{
DatagramSocket ds=new DatagramSocket(3000);
byte [] buf=new byte[1024];
DatagramPacket dp=new DatagramPacket(buf,1024);
ds.receive(dp);
String strRecv=new String(dp.getData(),0,dp.getLength()) +
" from " + dp.getAddress().getHostAddress()+":"+dp.getPort();
System.out.println(strRecv);
ds.close();
}
}