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

网络编程UDP Demo

时间:2018-07-30 00:31:36      阅读:204      评论:0      收藏:0      [点我收藏+]

标签:serve   except   字符串转换   data   cat   packet   ring   print   tst   

package 网络编程UDP;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;

public class UDPClient {
    public static void main(String[] args) {
        DatagramSocket ds = null;
        try {
            // 创建客户端的套接字对象
            ds = new DatagramSocket();
            // 定义一个发送的内容
//            字符串.getBytes()将字符串转换为字节数组
            byte[] bs = "你好".getBytes();
            // 创建要发送的目的的IP地址也可以是本机的名字也可以是192.168.1.102(本人电脑)
            InetAddress is = InetAddress.getByName("MSI");
            // 打数据包
            DatagramPacket dp = new DatagramPacket(bs, bs.length, is, 10005);
            // 发送数据
            ds.send(dp);

        } catch (SocketException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (Exception e) {
            e.printStackTrace();
        } finally {
            if (ds != null) {
                ds.close();
            }
        }

    }
}
package 网络编程UDP;

import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;

public class UDPServer {
    public static void main(String[] args) {
        DatagramSocket ds = null;
        try {
            //创建UDP服务器端的对象,必须制定端口8000以前的都被占用了,建议是10000以后 的
            ds = new DatagramSocket(10005);
            //定义接收数据的字节数组
            byte[] bs = new byte[1024];
            //定义接收的数据包
            DatagramPacket dp = new DatagramPacket(bs,bs.length);
            System.out.println("服务器已经启动");
            ds.receive(dp);
            //获得发送端的IP
            InetAddress ia = dp.getAddress();
            //获取数据包中的数据
            byte[] bs1 = dp.getData(); 
            //获得接收数据的长度(实际接收的长度)
            int len = dp.getLength();
            //组装接收的数据
            String data = new String(bs1,0,len);
            System.out.println(ia.getHostAddress()+"接收了"+data);
            
            
            
        } catch (Exception e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }finally {
            if(ds!=null) {
                ds.close();
            }
        }
        
        
    }
}

 

网络编程UDP Demo

标签:serve   except   字符串转换   data   cat   packet   ring   print   tst   

原文地址:https://www.cnblogs.com/java-jiangtao-home/p/9388331.html

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