天天看点

udp server java_java UDP服务端

public class UDPServerThread extends Thread {

DatagramPacket datagrampackets = null;

// int superport=1024;

public UDPServerThread(DatagramPacket packetd) {

this.datagrampackets = packetd;

Log.info("UDPServerThread");

Log.info("datagrampacket" + datagrampackets.getPort());

}

@Override

public void run() {

Log.info("ten");

int ten = datagrampackets.getLength();

Log.info("ten" + ten);

if (ten > 0) {

String msg = new String(datagrampackets.getData(), 0,datagrampackets.getLength());

InetAddress ip = datagrampackets.getAddress();

int ports = datagrampackets.getPort();

Log.info("客户端" + ip + ports + "发来消息:" + msg);

Document document = null;

try {

document = DocumentHelper.parseText(msg);

} catch (DocumentException e1) {

// TODO Auto-generated catch block

e1.printStackTrace();

}// 转换document对象

Element root = document.getRootElement();

//返回客户端消息

DatagramSocket sockets=null;

try {

sockets = new DatagramSocket();

byte[] buf = null;

buf = respxml.getBytes();

DatagramPacket packets = new DatagramPacket(buf, buf.length,

new InetSocketAddress(ip, ports));

sockets.send(packets);

sockets.close();

} catch (SocketException e) {

// TODO Auto-generated catch block

e.printStackTrace();

} catch (IOException e) {

// TODO Auto-generated catch block

e.printStackTrace();

}

}

}

}