一、发送端发送数据
package com.xiafan.study03;
import java.net.*;
public class TestUdpSend {
public static void main(String[] args) throws Exception{
DatagramSocket socket = new DatagramSocket();
String msg = "hello,udp";
InetAddress local = InetAddress.getByName("localhost");
int port = 9999;
DatagramPacket packet = new DatagramPacket(msg.getBytes(),0,msg.getBytes().length,local,port);
socket.send(packet);
socket.close();
}
}
二、接收端接受数据
package com.xiafan.study03;
import java.io.InputStream;
import java.net.*;
public class TestUdpReceive {
public static void main(String[] args) throws Exception{
DatagramSocket socket = new DatagramSocket(9999);
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer,0,buffer.length);
socket.receive(packet);
System.out.println(new String(packet.getData(), 0, packet.getLength()));
socket.close();
}
}
三、循环发送
package com.xiafan.study04;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.net.*;
public class UdpSend {
public static void main(String[] args) throws Exception{
DatagramSocket socket = new DatagramSocket(8888);
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
while (true)
{
String data = reader.readLine();
byte[] datas = data.getBytes();
DatagramPacket packet = new DatagramPacket(datas,0,datas.length,new InetSocketAddress("localhost",6666));
socket.send(packet);
if (data.equals("leave"))
break;
}
socket.close();
}
}
四、循环接受
package com.xiafan.study04;
import java.net.*;
public class UdpReceive {
public static void main(String[] args) throws Exception{
DatagramSocket socket = new DatagramSocket(6666);
while (true)
{
byte[] buffer = new byte[1024];
DatagramPacket packet = new DatagramPacket(buffer,0,buffer.length);
socket.receive(packet);
byte[] buffer1 = packet.getData();
String receivedata = new String(buffer1,0,packet.getLength());
System.out.println(receivedata);
if (receivedata.equals("leave"))
break;
}
socket.close();
}
}