在JSF页面中估计客户端和服务器之间的连接速度

时间:2012-04-18 20:50:09

标签: java javascript jsf

我很感兴趣,我可以在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来执行此操作?

1 个答案:

答案 0 :(得分:2)

当服务器在与客户端不同的机器上运行时,客户端上的任何自尊防火墙都可能阻止这种情况。

XMLHttpRequest定时到JavaScript中的相同来源是更好的选择恕我直言。