public void receiveXML(){
String xmlString="";
String s="";
int port=DEFAULT_PORT;
byte[] buffer=new byte[MAX_PACKER_SIZE];
try {
server=new DatagramSocket(port);
packet=new DatagramPacket(buffer, buffer.length);
while(true){
try {
server.receive(packet);
s=new String(packet.getData(),0,packet.getLength());
System.out.println(s);
xmlString+=s;
packet.setLength(buffer.length);
} catch (IOException ioe) {
// TODO: handle exception
ioe.printStackTrace();
}
}
} catch (SocketException se) {
// TODO: handle exception
se.printStackTrace();
}
server.close(); //这之后貌似就执行不了了
System.out.println(xmlString);
}
写了一个方法,但是在最后一句System.out.println(xmlString);打印不出结果,貌似后面都执行不了,请问这是为什么?
String xmlString="";
String s="";
int port=DEFAULT_PORT;
byte[] buffer=new byte[MAX_PACKER_SIZE];
try {
server=new DatagramSocket(port);
packet=new DatagramPacket(buffer, buffer.length);
while(true){
try {
server.receive(packet);
s=new String(packet.getData(),0,packet.getLength());
System.out.println(s);
xmlString+=s;
packet.setLength(buffer.length);
} catch (IOException ioe) {
// TODO: handle exception
ioe.printStackTrace();
}
}
} catch (SocketException se) {
// TODO: handle exception
se.printStackTrace();
}
server.close(); //这之后貌似就执行不了了
System.out.println(xmlString);
}
写了一个方法,但是在最后一句System.out.println(xmlString);打印不出结果,貌似后面都执行不了,请问这是为什么?
和TCP不同,UDP的接收方会一直在接收,而并不知道发送已经结束...