import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import org.junit.Test;
public class udpTest {
// DatagramSocket与DatagramPacket
// 建立发送端,接收端
// 建立数据包
// 调用Socket的发送、接收方法
// 关闭Socket
// 再开发送
@Test
public void send() {
DatagramSocket ds = null;
DatagramPacket dp = null;
// DatagramSocket
try {
//
ds = new DatagramSocket();
// 建立数据包
byte[] by = "hello world".getBytes();
dp = new DatagramPacket(by,0,by.length,InetAddress.getLocalHost(),5000);
// 发送数据包
ds.send(dp);
} catch (SocketException e) {
e.printStackTrace();
} catch (UnknownHostException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(ds!=null){
ds.close();
}
}
}
// 先开接受
@Test
public void receive() {
DatagramSocket ds = null;
DatagramPacket dp = null;
try {
ds = new DatagramSocket(5000);
byte[] by = new byte[1024];
dp = new DatagramPacket(by,0, by.length);
ds.receive(dp);
String str = new String(dp.getData(),0,dp.getLength());
System.out.println("来自" + dp.getAddress() + "的信息: " + str);
} catch (SocketException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}finally{
if(ds!=null){
ds.close();
}
}
}
}
UDP篇