我很感兴趣,我可以在JSF页面中测量客户端和服务器之间的连接速度。
我发现这个java代码的连接速度很慢:
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 java.util.Calendar;
public class UdpEchoClient {
static final String testString = "Greeks bearing gifts";
public static void main(String[] args) {
InetAddress address;
try {
address = InetAddress.getByName(args[0]);
} catch (UnknownHostException host) {
System.out.println(host);
return;
}
DatagramPacket pack = new DatagramPacket(testString.getBytes(),
testString.length(), address, 7);
DatagramPacket incoming = new DatagramPacket(new byte[256], 256);
DatagramSocket sock = null;
try {
Calendar start, end;
sock = new DatagramSocket();
start = Calendar.getInstance();
sock.send(pack);
sock.setSoTimeout(5000);
sock.receive(incoming);
end = Calendar.getInstance();
String reply = new String(incoming.getData());
reply = reply.substring(0, testString.length());
if (reply.equals(testString)) {
System.out.println("Success");
System.out.println("Time = "
+ (end.getTime().getTime() - start.getTime().getTime())
+ "mS");
} else
System.out.println("Reply data did not match");
} catch (SocketException socke) {
System.out.println(socke);
} catch (IOException ioe) {
System.out.println(ioe);
} finally {
sock.close();
}
}
}
但这可以用于JSF页面,还是我必须使用JavaScript来执行此操作?
答案 0 :(得分:2)
当服务器在与客户端不同的机器上运行时,客户端上的任何自尊防火墙都可能阻止这种情况。
将XMLHttpRequest
定时到JavaScript中的相同来源是更好的选择恕我直言。