UDP接收GNGGA报文同时转发UDP报文的方法
package Frame;
import java.io.IOException;
import java.net.DatagramPacket;
import java.net.DatagramSocket;
import java.net.InetAddress;
import java.net.SocketException;
import java.net.UnknownHostException;
import PbuliClass.ShowMessage;
public class Udp_Receive_and_send implements Runnable {
static DatagramSocket socket;
int port=7000;
DatagramPacket packet;
public Udp_Receive_and_send() {
try {
socket = new DatagramSocket(port);
} catch (SocketException e) {
e.printStackTrace();
}
byte[] data = new byte[2048];
packet= new DatagramPacket(data, data.length);
}
public void startThread() {
Thread t=new Thread();
t.start();
}
public void run() {
while(true) {
try {
socket.receive(packet);
} catch (IOException e) {
e.printStackTrace();
}
int lenth=packet.getLength();
String ip=packet.getAddress().getHostAddress();
int port=packet.getPort();
String message=new String(packet.getData(), 0, lenth);
message=message.replaceAll(" ", "");
message=message.replaceAll("\r\n", "");
String message_to_big=message.toUpperCase();
if(message.startsWith("$GNGGA")) {
dell_GNGGA( message_to_big, ip, port);
}
}
}
public static void udp_out(byte[] data,String ip,int port,String tagid) {
InetAddress address=null;
try {
address=InetAddress.getByName(ip);
} catch (UnknownHostException e) {
ShowMessage.zidingyi_24("UDP未知地址异常:"+ip);
}
DatagramPacket packet=new DatagramPacket(data, data.length, address, port);
try {
socket.send(packet);
} catch (IOException e) {
System.out.println("UDP发送异常"+ip);
}
}
public static void dell_GNGGA(String message,String ip,int port) {
String[] gpgga=message.split(",");
int lenth=gpgga.length;
if(lenth==21 ) {
String gps_utc_time=gpgga[1];
String gps_weidu=gpgga[2];
String gps_NS=gpgga[3];
String gsp_jingdu=gpgga[4];
String gps_EW=gpgga[5];
String gps_state=gpgga[6];
String gps_num=gpgga[7];
String gps_hdop=gpgga[8];
String gps_haiba_gao=gpgga[9];
String gao_danwei=gpgga[10];
String gps_tuoqiu=gpgga[11];
String gps_chafen_time=gpgga[12];
String gps_chafen_id=gpgga[13];
String gps_jiaoyan=gpgga[14];
String tagid=gpgga[15];
String power=gpgga[16];
String gpsxinhao="0";
String baoliu1="0";
String baoliu2="0";
String baoliu3="0";
}
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)