通过udp传输方式,将一段文字数据从一个应用程序发送到另一个应用程序中。
发送端操作步骤:
1.建立udpsocket服务,也就是数据码头
2.提供数据,并将数据封装到包中
3.通过socket发送功能,将数据包发送出去
4.关闭资源
接收端操作步骤:
1.定义udpsocket服务。接收端,通常会监听一个端口,以便发送端知道该往哪发送
发送端一般系统随机分配端口,相互通信都需要明确端口
2.定义一个数据包,因为要存储接收到的字节数据。
因为数据包对象中有更多功能可以提取字节数据中的不同数据信息
3.通过socket服务的receive方法将受到的数据存入已定义的数据包中
4.通过数据包对象的特有功能,将这些不同的数据取出打印在控制台上
5.关闭资源
- import java.net.*;
- import java.io.*;
- class UdpSend
- {
- public static void main(String[] args)throws Exception
- {
- DatagramSocket ds =new DatagramSocket();
- BufferedReader bufr=
- new BufferedReader(new InputStreamReader(System.in));
- String line=null;
- while((line=bufr.readLine())!=null)
- {
- if("886".equals(line))
- break;
- byte[] buf=line.getBytes();
- DatagramPacket dp=
- new DatagramPacket(buf,buf.length,InetAddress.getByName("127.0.0.1"),10000);
- ds.send(dp);
- }
- ds.close();
- }
- }
- class UdpRece
- {
- public static void main(String[] args)throws Exception
- {
- DatagramSocket ds =new DatagramSocket(10000);
- while(true)
- {
- byte[] buf=new byte[1024];
- DatagramPacket dp=new DatagramPacket(buf,buf.length);
- ds.receive(dp);
- String ip=dp.getAddress().getHostAddress();
- String data=new String(dp.getData(),0,dp.getLength());
- System.out.println(ip+":"+data);
- }
- }
- }
复制代码
|
|