我正在使用ktor 0.9.5。我正在尝试一个简单的例子。但是当尝试连接到服务器时,我得到了ERR_EMPTY_RESPONSE。这是我的代码。
fun main(args: Array<String>) {
embeddedServer(Netty, port = 8080, host = "localhost") {
install(DefaultHeaders)
install(CallLogging)
routing {
get(path = "/") {
call.respondText("Hello World!!")
}
}
}.start()
}
做一些研究,我发现将项目更改为Maven可以解决问题,但是由于我所在组织的规则,我无法做到。任何其他解决方案...谢谢。
我在println("sometext")
之前添加了call.respondText("Hello World!!")
,但从未执行过。
答案 0 :(得分:0)
出现 ERR_EMPTY_RESPONSE 错误,我想您是从Google Chrome浏览器请求服务器。对 ? 您是否要从另一台计算机连接到服务器?如果是这样,它将不起作用,因为您已将服务器设置为仅响应来自本地主机的请求。
// loadit.js
function addUrlToClasspath(pth) {
var s = java.lang.ClassLoader.getSystemClassLoader();
var C = Java.type("java.lang.Class[]");
var p = new C(1); p[0] = java.net.URL.class;
var m = java.net.URLClassLoader.class.getDeclaredMethod("addURL", p);
var O = Java.type("java.lang.Object[]"); var a = new O(1); var f = new java.io.File(pth); m.setAccessible(true);
var u = f.toURL(); a[0] = u; m.invoke(s, a);
}
addUrlToClasspath($ARG[0]);
print("DONE")
即使添加println(),它也不会执行。 尝试从EmbeddedServer()参数中删除 host =“ localhost” ,然后重新测试。