/*
* 网络编程 UDP协议 发送端
*
* UDP与TCP的区别:
* UDP为无连接,不安全,速度快;
* TCP为连接,安全,速度稍慢;
*/
public class udpSend {
public static void main(String[] args) throws Exception {
//创建socket对象
DatagramSocket dsDatagramSocket=new DatagramSocket();
//创建键盘输入流缓冲区
BufferedReader bfBufferedWriter=new BufferedReader(new InputStreamReader(System.in));
String line=null;
while((line=bfBufferedWriter.readLine())!=null){
if("886".equals(line)){
break;
}
byte[] bt=line.getBytes();
//创建数据包
DatagramPacket dpDatagramPacket=
new DatagramPacket(bt, bt.length, InetAddress.getByName("192.168.5.255"), 10001);
//通过。send方法发送数据包
dsDatagramSocket.send(dpDatagramPacket);
}
//关闭
dsDatagramSocket.close();
}
}
/**
* 网路编程 UDP协议 接收端(10001)必须与发送端(10001)一致否则数据流失
*/
public static void main(String[] args) throws Exception {
//创建socket对象
DatagramSocket dsSocket=new DatagramSocket(10001);
while(true){
byte[]by=new byte[1024];
//接收数据包
DatagramPacket dpPacket=new DatagramPacket(by, by.length);
dsSocket.receive(dpPacket);
//通过数据包的方法获取包中的数据;
String adString= dpPacket.getAddress().getHostAddress();
int hostString=dpPacket.getPort();
String string=new String(dpPacket.getData(), 0, dpPacket.getLength());
System.out.println(adString+"::"+hostString+"::"+string);
}
}