码迷,mamicode.com
首页 > 其他好文 > 详细

UDP发送端&UDP接收端

时间:2016-10-04 21:08:32      阅读:199      评论:0      收藏:0      [点我收藏+]

标签:

UDP发送端:

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;

public class UdpSendDemo {

    public static void main(String[] args) throws IOException {

        /*
         * 需求:建立udp发送端
         * 思路:
         * 1.建立可以实现udp传输的socket服务
         * 2.明确具体发送的数据
         * 3.通过socket服务将具体的数据发送出去
         * 4.关闭服务
         */
        
        System.out.println("udp发送端启动.....");
        
        //1.创建udp服务
        DatagramSocket ds = new DatagramSocket(1025);
        
        //2.明确数据
        String s = "注意啦,UDP来了";
        
        //3.发送数据,将数据封装到数据包中。
            //3.1将数据封装到数据包对象中,数据汇明确目的地址和端口
        byte[] buf = s.getBytes();
        DatagramPacket dp = new DatagramPacket(buf, buf.length, 
                InetAddress.getByName("dell-pc"),10000);
        
            //3.2发送
        ds.send(dp);
        
        ds.close();
        
    }

}

UDP接收端:

 

import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.SocketException;

public class UdpReceiveDemo {

    public static void main(String[] args) throws IOException {
        
        /*
         * 创建udp的接收端
         * 思路:
         * 1.创建socket服务,明确一个端口。
         * 2.收数据
         * 3.将其中所需要的数据取出来。ip,data,port
         * 4.关闭资源
         */
        
        System.out.println("udp接收端启动了.....");
        //1.创建socket服务
        DatagramSocket ds = new DatagramSocket(10000);
        
        //2.使用socket的接受方法,接收数据,需要到收到的数据存储到数据包中
        //可以通过数据包对象的方法对收到的数据进行解析
            //2.1创建一个数据包
        byte[] buf = new byte[1024];
        DatagramPacket dp = new DatagramPacket(buf, buf.length);
        
        ds.receive(dp);//阻塞式方法
        
        //3.通过数据包对象解析收到的数据,使用数据包的方法
        String ip = dp.getAddress().getHostAddress();
        int port = dp.getPort();
        //获取文字数据
        String str = new String(dp.getData(),0,dp.getLength());
        System.out.println(ip+":"+port+"------"+str);
        
        //4.关闭资源
        ds.close();
    
    }

}

 

UDP发送端&UDP接收端

标签:

原文地址:http://www.cnblogs.com/qjlbky/p/5931190.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!