package BaoWen;
|
import java.io.IOException;
|
import java.net.InetAddress;
|
import java.net.UnknownHostException;
|
import java.util.Vector;
|
|
import Method.BaoWenShow;
|
import Method.SaveFIleInTxt;
|
import PbuliClass.ShowMessage;
|
import PbuliClass.Systems;
|
import VectroData.ForwardDatas;
|
import tbDataModel.Tb_forward_data;
|
import tcp.TcpClientOneToMany;
|
import udp_out.udpAndTcpout;
|
import udp_out.udppojo;
|
|
/**¸ÃÀàÓÃÓÚUDPת·¢Êý¾Ýµ½Ö¸¶¨¶Ë¿ÚµØÖ·*/
|
public class Udp_Out {
|
|
|
static boolean savebaowen=Systems.sys().getOpensave().equals("1");
|
static boolean tcp_have_display=ForwardDatas.have_tcp("λÖÃÊý¾Ý");
|
static boolean tcp_have_all=ForwardDatas.have_tcp("È«²¿Êý¾Ý");
|
|
|
|
|
/**ʵÏÖUDPת·¢
|
* @param data ÐèҪת·¢µÄÊý¾Ý
|
* @param length ÐèҪת·¢µÄÊý¾Ý³¤¶È
|
* @param type ÐèҪת·¢µÄÊýÁ¿ÀàÐÍ
|
* @throws IOException */
|
public static void udp_out(byte[] data,int length,String type) {
|
|
Vector<Tb_forward_data> mou_data=ForwardDatas.get_mou_tb_forword("UDP",type);
|
int size=mou_data.size();
|
if( size!=0) {
|
InetAddress address=null;
|
for(int i=0;i<size;i++) {
|
Tb_forward_data fordata=mou_data.get(i);
|
//Èç¹ûÊý¾ÝÀàÐÍÏàͬ
|
try {
|
address=InetAddress.getByName(fordata.getIp());
|
} catch (UnknownHostException e) {
|
e.printStackTrace();
|
}
|
udppojo udppojo=new udppojo();
|
int port=Integer.parseInt(fordata.getPort());
|
udppojo.setData(data);
|
udppojo.setLength(length);
|
udppojo.setIp(address);
|
udppojo.setPort(port);
|
udppojo.setTagid("0000");
|
udppojo.setMessage("0000");
|
udpAndTcpout.getUdppojoVector().add(udppojo);//2023.07.12 zsh
|
}
|
}
|
}
|
|
|
/**½«Êý¾Ýͨ¹ýUDP·¢×ß*/
|
public static void zhuanfa_all_udp_data(byte[] data,int length) {
|
Vector<Tb_forward_data> mou_data=ForwardDatas.get_mou_tb_forword("UDP");
|
int size=mou_data.size();
|
if(size!=0) {
|
|
InetAddress address=null;
|
for(int i=0;i<size;i++) {
|
Tb_forward_data fordata=mou_data.get(i);
|
//Èç¹ûÊý¾ÝÀàÐÍÏàͬ
|
try {
|
address=InetAddress.getByName(fordata.getIp());
|
} catch (UnknownHostException e) {
|
e.printStackTrace();
|
}
|
int port=Integer.parseInt(fordata.getPort());
|
if(port>65535) {
|
ShowMessage.zidingyi(port+"¶Ë¿Ú´íÎó...");
|
return;
|
}
|
udppojo udppojo=new udppojo();
|
udppojo.setData(data);
|
udppojo.setLength(length);
|
udppojo.setIp(address);
|
udppojo.setPort(port);
|
udppojo.setTagid("0000");
|
udppojo.setMessage("0000");
|
udpAndTcpout.getUdppojoVector().add(udppojo);//2023.07.12 zsh
|
}
|
}
|
|
}
|
|
|
|
/**½«Êý¾Ý·¢¸øBS¶Ë*/
|
public static void out(byte[] data,int length,String ip,int port) {
|
|
InetAddress address=null;
|
//Èç¹ûÊý¾ÝÀàÐÍÏàͬ
|
try {
|
address=InetAddress.getByName(ip);
|
} catch (UnknownHostException e) {
|
e.printStackTrace();
|
}
|
udppojo udppojo=new udppojo();
|
udppojo.setData(data);
|
udppojo.setLength(length);
|
udppojo.setIp(address);
|
udppojo.setPort(port);
|
udppojo.setTagid("0000");
|
udppojo.setMessage("0000");
|
udpAndTcpout.getUdppojoVector().add(udppojo);//2023.07.12 zsh
|
}
|
|
|
|
|
|
public static void udpout(int size,Vector<Tb_forward_data> datatype,String message,String tagid) {
|
if(size !=0) {
|
for(int i=0;i<size;i++) {
|
Tb_forward_data fordata=datatype.get(i);
|
if(fordata.getType().equals("UDP")) {
|
InetAddress address=null;
|
try {
|
address=InetAddress.getByName(fordata.getIp());
|
} catch (UnknownHostException e) {
|
ShowMessage.zidingyi("UDPת·¢µØÖ·ÓдíÎó");
|
}
|
int port=Integer.parseInt(fordata.getPort());
|
int length=message.getBytes().length;
|
udppojo udppojo=new udppojo();
|
udppojo.setData(message.getBytes());
|
udppojo.setLength(length);
|
udppojo.setIp(address);
|
udppojo.setPort(port);
|
udppojo.setTagid(tagid);
|
udppojo.setMessage(message);
|
udpAndTcpout.getUdppojoVector().add(udppojo);//2023.07.12 zsh
|
}
|
}
|
}
|
}
|
|
/**UDP»òÕßTCPÊý¾Ýת·¢Î»ÖÃÊý¾Ý*/
|
public static void udp_tcp_out_display(String message,String tagid) {
|
if(ForwardDatas.isUDP()) {//´æÔÚUDPת·¢
|
udpdisplaydata( message,tagid);
|
}
|
if(ForwardDatas.isTCP()) {//´æÔÚTCPת·¢
|
tcpout(message);
|
}
|
}
|
|
|
/**UDP»òÕßTCPÊý¾Ýת·¢GNGGAÊý¾Ý*/
|
public static void GNGGA_udptcp_out(String message,String tagid) {
|
if(ForwardDatas.isUDP()) {//´æÔÚUDPת·¢
|
udp_out_gngga( message,tagid);
|
}
|
if(ForwardDatas.isTCP()) {//´æÔÚTCPת·¢
|
tcpout(message);
|
}
|
}
|
|
/**UDP»òÕßTCPÊý¾Ýת·¢ËùÓÐÊý¾Ý*/
|
public static void alldata_udptcp_out(String message) {
|
if(ForwardDatas.isUDP()) {//´æÔÚUDPת·¢
|
udp_out_all( message,"Ñ¡Ôñ±êÇ©");
|
}
|
if(ForwardDatas.isTCP()) {//´æÔÚTCPת·¢
|
tcpout(message);
|
}
|
}
|
|
|
/**UDPת·¢Î»ÖÃÊý¾Ý»òÕßÈ«²¿Êý¾Ý*/
|
public static void udpdisplaydata(String message,String tagid) {
|
Vector<Tb_forward_data> displaydata=ForwardDatas.getDisplaydata();
|
//Vector<Tb_forward_data> alldata=ForwardDatas.getAlldata();
|
int size1=displaydata.size();
|
udpout(size1,displaydata,message,tagid);
|
/*int size2=alldata.size();
|
udpout(size2,alldata,message,tagid);*/
|
}
|
|
/**UDP»òÕßTCPÊý¾Ýת·¢coustom1Êý¾Ý*/
|
public static void coustom1_udptcp_out(String message,String tagid) {
|
if(ForwardDatas.isUDP()) {//´æÔÚUDPת·¢
|
udp_custom1( message,tagid);
|
}
|
if(ForwardDatas.isTCP()) {//´æÔÚTCPת·¢
|
tcpout(message);
|
}
|
}
|
|
/**UDPת·¢GNGGAÊý¾Ý*/
|
public static void udp_out_gngga(String message,String tagid) {
|
Vector<Tb_forward_data> gnggadata=ForwardDatas.getGnggadta();
|
Vector<Tb_forward_data> alldata=ForwardDatas.getAlldata();
|
int size=gnggadata.size();
|
udpout(size,gnggadata,message,tagid);
|
int size2=alldata.size();
|
udpout(size2,alldata,message,tagid);
|
}
|
|
/**UDPת·¢ËùÓÐÊý¾ÝÊý¾Ý*/
|
public static void udp_out_all(String message,String tagid) {
|
Vector<Tb_forward_data> alldata=ForwardDatas.getAlldata();
|
int size2=alldata.size();
|
udpout(size2,alldata,message,tagid);
|
}
|
|
/**UDPת·¢customÊý¾Ý*/
|
public static void udp_custom1(String message,String tagid) {
|
Vector<Tb_forward_data> custom1data=ForwardDatas.getCustom1data();
|
int size3=custom1data.size();
|
udpout(size3,custom1data,message,tagid);
|
}
|
|
public static void tcpout(String message) {
|
if(tcp_have_display || tcp_have_all ) {
|
TcpClientOneToMany.send(message);
|
BaoWenShow.show(message, "TCPת·¢","Ñ¡Ôñ±êÇ©");
|
if(savebaowen) {
|
SaveFIleInTxt.save_display(message, "Ñ¡Ôñ±êÇ©");
|
}
|
}
|
}
|
|
}
|