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;
}