标签:
import java.net.*; /* 通过UDP传输发送文字数据 1.建立socket服务 2.提供数据,并封装到数据包中 3.通过sokect服务的发送功能,将数据包发送出去 4.关闭资源 */ class udpsend { public static void main(String[] arg) throws Exception { //1.创建UDP服务。通过DatagramSocket对象 DatagramSocket ds = new DatagramSocket(1234); //2.确定数据并封装成数据包 byte[] buf = "udp is coming".getBytes(); DatagramPacket dp=new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),4567); //3.通过socket服务,将已有的数据包发送出去 ds.send(dp); //4.关闭资源 ds.close(); } } /*需求:定义一个应用程序勇于接收UDP协议传输的数据 思路: 1.定义udpsocket服务,通常会监听一个端口 2.定义一个数据包。因为要存储接收到的字节数据 因为数据包对象中有更多功能可以提取字节数据中的不同数据信息 3.通过socket服务的receive方法将收到的数据存入已定义好的数据包中 4.通过数据包对象的特有功能,将这些不同的数据取出,打印在控制台上 5.关闭资源 */ class udprece { public static void main(String[] args) throws Exception{ //1.创建udp,建立端点 DatagramSocket ds=new DatagramSocket(4567); //2.定义数据包,用于存储 byte[] buf=new byte[1024]; DatagramPacket dp=new DatagramPacket(buf,buf.length); //3.通过receive方法间接收到的数据存入数据包中 ds.receive(dp); //4.通过数据包的方法获取其中的数据 String ip=dp.getAddress().getHostAddress(); String data=new String(dp.getData(),0,dp.getLength()); int port=dp.getPort(); System.out.println(ip+":"+port+"------"+data); //5.关闭资源 ds.close(); } }
标签:
原文地址:http://www.cnblogs.com/NeilLing/p/4176777.html