随机简短推送消息(线程)

package com.wp.recruitment.utils;

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

import com.alibaba.fastjson.JSON;

/**
*

  • @author JingChun

  • @date 2019/10/21
    */
    public class PushUtil implements Runnable{
    @Override
    public void run() {
    boolean flag = true;
    while(flag){
    try {
    PushParam pushParam = new PushParam();
    String text = GetRandomUtil.getText();
    for (int i = 1; i < 3; i++) {
    String tel = GetRandomUtil.getTel();
    String ip = GetRandomUtil.getIp();

                 if (i == 1) {
                     pushParam.setCalling(tel);
                     pushParam.setIpCalling(ip);
                 }else {
                     pushParam.setCalled(tel);
                     pushParam.setIpCalled(ip);
                     pushParam.setText(text);
    
                     String str = JSON.toJSONString(pushParam);
                     System.out.println(str);
                     System.out.println(" ");
    
                     DatagramSocket datagramSocket=null;
    
                     try {
                         //实例化套接字,并指定发送端口
                         datagramSocket=new DatagramSocket(8080);
                         //指定数据目的地的地址,以及目标端口
                         InetAddress destination=InetAddress.getByName("localhost");
                         DatagramPacket datagramPacket = new DatagramPacket(str.getBytes(),str.getBytes().length,destination,8081);
                         //发送数据
                         datagramSocket.send(datagramPacket);
    

// System.out.println(JSON.toJSONString(datagramSocket));
// System.out.println(" ");

                    } catch (SocketException e) {
                        e.printStackTrace();
                    } catch (IOException e) {
                        e.printStackTrace();
                    } finally{
                        datagramSocket.close();
                    }
                }
            }
            Thread.sleep(2000);
        } catch (InterruptedException e) {
            e.printStackTrace();
        }
    }
}

}

package com.wp.recruitment.utils;

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

/**
*

  • @author JingChun

  • @date 2019/10/21
    */
    public class ReceiveMain {
    public static void main(String[] args) {
    DatagramSocket datagramSocket=null;
    try {
    //监视8081端口的内容
    datagramSocket=new DatagramSocket(8081);
    byte[] buf=new byte[1024];

         //定义接收数据的数据包
         DatagramPacket datagramPacket=new DatagramPacket(buf, 0, buf.length);
         while(true) {
             datagramSocket.receive(datagramPacket);
    
             //从接收数据包取出数据
             String data = new String(datagramPacket.getData(), 0, datagramPacket.getLength());
             System.out.println(data);
             System.out.println(" ");
         }
     } catch (SocketException e) {
         e.printStackTrace();
     } catch (IOException e) {
         e.printStackTrace();
     } finally {
         datagramSocket.close();
     }
    

    }
    }

package com.wp.recruitment.utils;

import java.util.Random;

/**
*

  • @author JingChun

  • @date 2019/10/21
    */
    public class GetRandomUtil {

    /**

    • 随机生成ip

    • @return
      */
      public static String getIp() {
      //ip范围
      int[][] range = {{607649792, 608174079},//36.56.0.0-36.63.255.255
      {1038614528, 1039007743},//61.232.0.0-61.237.255.255
      {1783627776, 1784676351},//106.80.0.0-106.95.255.255
      {2035023872, 2035154943},//121.76.0.0-121.77.255.255
      {2078801920, 2079064063},//123.232.0.0-123.235.255.255
      {-1950089216, -1948778497},//139.196.0.0-139.215.255.255
      {-1425539072, -1425014785},//171.8.0.0-171.15.255.255
      {-1236271104, -1235419137},//182.80.0.0-182.92.255.255
      {-770113536, -768606209},//210.25.0.0-210.47.255.255
      {-569376768, -564133889}, //222.16.0.0-222.95.255.255
      };

      Random rdint = new Random();
      int index = rdint.nextInt(10);
      String ip = num2ip(range[index][0]
      + new Random().nextInt(range[index][1] - range[index][0]));
      return ip;
      }

    public static String num2ip(int ip) {
    int[] b = new int[4];
    String x = “”;

     b[0] = (int) ((ip >> 24) & 0xff);
     b[1] = (int) ((ip >> 16) & 0xff);
     b[2] = (int) ((ip >> 8) & 0xff);
     b[3] = (int) (ip & 0xff);
     x = Integer.toString(b[0]) + "." + Integer.toString(b[1]) + "."
             + Integer.toString(b[2]) + "." + Integer.toString(b[3]);
     return x;
    

    }

    /**

    • 随机生成手机号
      */
      public static String[] telFirst = “134,135,136,137,138,139,150,151,152,157,158,159,130,131,132,155,156,133,153”.split(",");

    public static int getNum(int start, int end) {
    return (int) (Math.random() * (end - start + 1) + start);
    }

    public static String getTel() {
    int index = getNum(0, telFirst.length - 1);
    String first = telFirst[index];
    String second = String.valueOf(getNum(1, 888) + 10000).substring(1);
    String third = String.valueOf(getNum(1, 9100) + 10000).substring(1);
    return first + second + third;
    }

    /**

    • 随机生成text

    • @return
      */
      public static String getText() {
      // String str1 = “初次见面”;
      // String str2 = “好久不见”;
      // String str3 = “欢迎光临”;
      // String str4 = “拜托了”;
      // String str5 = “我能帮您做什么”;
      // String str6 = “给您添麻烦了”;
      // String str7 = “这是我应该做的”;
      // String str8 = “请多关照”;
      // String str9 = “拜托”;
      // String str10 = “您先请”;

      String[] strings = {“初次见面”, “好久不见”, “欢迎光临”, “拜托了”, “我能帮您做什么”, “给您添麻烦了”, “这是我应该做的”,
      “请多关照”, “拜托”, “您先请”};

      //产生0-(arr.length-1)的整数值,也是数组的索引

      int index=(int)(Math.random()*strings.length);
      String str = strings[index];
      return str;
      }
      }

package com.wp.recruitment.utils;

/**
*

  • @author JingChun
  • @date 2019/10/21
    */
    public class SendMain {
    public static void main(String[] args) {
    PushUtil pushUtil = new PushUtil();
    Thread mt = new Thread(pushUtil);
    mt.start();
    }
    }

package com.wp.recruitment.utils;

import lombok.Data;

/**
*

  • @author JingChun
  • @date 2019/10/21
    */
    @Data
    public class PushParam {
    private String calling;
    private String called;
    private String ipCalling;
    private String ipCalled;
    private String text;
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值