UDP
发短信:不用连接,需要知道对方的地址!
接收端
package lessonIP; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; //不要连接服务器 public class UdpClientDemo01 { public static void main(String[] args) { //建立一个包Socket try { DatagramSocket socket=new DatagramSocket(); } catch (SocketException e) { e.printStackTrace(); } //2.建个包 String msg="你好啊,服务器!"; //发送给谁 // InetAddress localhost=InetAddress.getByName("localhost"); int port=9090; //数据,数据的长度起始,要发送给谁 DatagramPacket packet= new DatagramPacket(msg.getBytes(),0,msg.length()); //3.发送包 // socket.send(packet); //关闭流 // socket.close(); } }
package lessonIP; import java.io.IOException; import java.net.DatagramPacket; import java.net.DatagramSocket; import java.net.SocketException; //还是要等待客户端的连接! public class UdpServerDemo01 { public static void main(String[] args) throws Exception{ } //开放端口 DatagramSocket socket; { try { socket = new DatagramSocket(9000); } catch (SocketException e) { e.printStackTrace(); //接收数据包 byte[] buffer=new byte[1024]; DatagramPacket packet= new DatagramPacket(buffer,0,buffer.length);//接收 try { socket.receive(packet);//阻塞接收 System.out.println(packet.getSocketAddress()); System.out.println(new String(packet.getData(),0,packet.getLength())); } catch (IOException ex) { ex.printStackTrace(); } //关闭 socket.close(); } } }