• java-UDP协议接收和发送数据


    UDP发送数据的步骤:
      A:创建发送端的Socket服务对象

      B:创建数据,并把数据打包

      C:通过Socket对象的发送功能发送数据包

      D:释放资源

    public class SendDemo {
        public static void main(String[] args) throws IOException {
            //创建发送端的Socket服务对象
            //public DatagramSocket()
            DatagramSocket ds = new DatagramSocket();
            
            //创建数据,并把数据打包
            //public DatagramPacket(byte[] buf,int Length,InetAddress address,int port)
            //buf其实就是要发送的数据信息
            //length表示要发送的数据长度
            //address数据要发到哪里去,对应的哪个IP地址对象
            //port端口号
            //byte[] bys = "***".getBytes();
            //int length = bys.length;
            //InetAddress address = InetAddress.getByName("***.***.**.***");
            //int port = 10086;
            //DatagramPacket p = new DatagramPacket(bys,length,address,port);
            
            //封装键盘录入
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            String line = null;
            while((line = br.readLine())!= null) {
                byte[] bys = line.getBytes();
                DatagramPacket dp = new DatagramPacket(bys, bys.length, InetAddress.getByName("000.000.00.000"), 10010);
                
                //通过Socket对象的发送功能发送数据包
                //public void send(DatagramPacket p)
                ds.send(dp);
            }
              
            //释放资源
            ds.close();
        }
    }

    UDP接收数据的步骤:

      A:创建接收端的Socket服务对象

      B:创建一个数据包,用于接收数据

      C:接收数据

      D:解析数据,并显示在控制台

      E:释放资源

    public class ReceiveDemo {
        public static void main(String[] args) throws IOException {
            //创建接收端的Socket服务对象,并且指定端口号
            DatagramSocket ds = new DatagramSocket(10010);
            while(true){
                //创建一个数据包,用于接收数据
                byte[] bys = new byte[1024];
                DatagramPacket dp = new DatagramPacket(bys, bys.length);
                
                //接收数据
                ds.receive(dp);
                
                //解析数据
                //获取ip地址
                String ip = dp.getAddress().getHostAddress();
                
                //获取数据
                String data = new String(dp.getData(),0,dp.getLength());
                System.out.println("from " + ip + " data is " + data);
            }
            
            //释放资源(服务器一般永远是开着的)
            //ds.close();
        }
    }

  • 相关阅读:
    Aptana在Eclipse的安装
    spket插件安装并设置JQuery自动提示(转)
    MyEclipse2014安装aptana插件
    GreenDao存储自定义类型对象解决方案(转)
    用PLSQL Developer 查看Oracle的存储过程
    用PLSQL Developer 查看连接因子 tnsnames.ora
    H5前端框架推荐合集 (转)
    10大H5前端框架(转)
    GreenDao3.0简单使用(转)
    Oracle常用查看表结构命令(转)
  • 原文地址:https://www.cnblogs.com/mxj961116/p/10401198.html
Copyright © 2020-2023  润新知