我正在使用jetty服务器(来自org.mortbay.jetty.Server)
Server server = new Server(8080);
如何获取服务器地址以便我可以向其发送消息以进行测试? 感谢。
答案 0 :(得分:6)
InetAddress addr = InetAddress.getLocalHost();
// Get IP Address
byte[] ipAddr = addr.getAddress();
// Get hostname
String hostname = addr.getHostName();
答案 1 :(得分:1)
我对你的问题有点困惑。当您启动并嵌入Jetty服务器时,地址将始终为“localhost”(您的计算机的环回接口)。在创建Server实例时,端口将是您选择的端口。因此,对于您的示例,您的嵌入式Jetty服务器将位于
http://localhost:8080
无论如何,您还可以获得Jetty当前(本地)端口号,如下所示:
int jettyPort = server.getConnectors()[0].getLocalPort();
这对于集成测试很有用,在集成测试中你有一个测试工具(比如JUnit规则或其他东西)在随机端口上启动嵌入式Jetty,然后在测试中使用这个Jetty实例时,你需要了解它的起始端口。