我使用jetty server (from org.mortbay.jetty.Server)
Server server = new Server(8080);
我如何得到我的服务器地址,所以我可以发送消息给它进行测试?谢谢。
使用java.net.InetAddress:
InetAddress addr = InetAddress.getLocalHost();
// Get IP Address
byte[] ipAddr = addr.getAddress();
// Get hostname
String hostname = addr.getHostName();
我对你的问题有点困惑。当您启动并嵌入Jetty服务器时,地址将始终是"localhost"(您的机器的环回接口)。端口将是您在创建Server实例时选择的任何端口。例如,您的嵌入式Jetty服务器将位于
http://localhost:8080
无论如何,您还可以像这样获得Jetty当前(本地)端口号:
int jettyPort = server.getConnectors()[0].getLocalPort();
这对于集成测试可能很有用,其中您有一个测试工具(如JUnit规则或其他东西),可以在随机端口上启动嵌入式Jetty,然后,当在测试中使用该Jetty实例时,您需要知道它是从哪个端口启动的。