在这里我实现从发送端到接收端和接收端到发送端的通讯,所以没有服务器端和客户端,但我还是
使用这种叫法。
1.服务器端
import java.net.DatagramPacket;
import java.net.DatagramSocket;
public class UDPServer {
public static void main(String[] args) {
// TODO Auto-generated method stub
try
{
DatagramSocket ds=new DatagramSocket(6000);
byte []buf=new byte[100];
DatagramPacket dp=new DatagramPacket(buf,100);
ds.receive(dp);
System.out.println(new String(buf,0,dp.getLength()));
String str="Welcome you!";
DatagramPacket dpsend=new DatagramPacket(str.getBytes(),str.length(),dp.getAddress(),dp.getPort());
ds.send(dpsend);
ds.close();
}
catch(Exception e)
{
}
}
}
2.客户端
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
public class UDPClient {
public static void main(String []args)
{
try {
DatagramSocket ds=new DatagramSocket();
String str="hello,this is zhangsan";
DatagramPacket dp=new DatagramPacket(str.getBytes(),str.length(),InetAddress.getByName("localhost"),6000);
ds.send(dp);
byte []buf=new byte[100];
DatagramPacket dprecv=new DatagramPacket(buf,100);
ds.receive(dprecv);
System.out.println(new String(buf,0,dprecv.getLength()));
ds.close();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}