Groovy 带SockJS的Vert.x 3-无法建立连接

Groovy 带SockJS的Vert.x 3-无法建立连接,groovy,websocket,sockjs,vert.x,Groovy,Websocket,Sockjs,Vert.x,我尝试使用Vert.x3.0.0和SockJS0.3.4(我使用groovy)运行关于WebSocket功能的简单示例 groovy垂直体如下所示: import io.vertx.groovy.ext.web.Router import io.vertx.groovy.ext.web.handler.sockjs.SockJSHandler def router = Router.router(vertx) def sockJSHandler = SockJSHandler.create(v

我尝试使用Vert.x3.0.0和SockJS0.3.4(我使用groovy)运行关于WebSocket功能的简单示例

groovy垂直体如下所示:

import io.vertx.groovy.ext.web.Router
import io.vertx.groovy.ext.web.handler.sockjs.SockJSHandler

def router = Router.router(vertx)
def sockJSHandler = SockJSHandler.create(vertx, [heartbeatInterval: 2000])

sockJSHandler.socketHandler({ sockJSSocket ->
    sockJSSocket.handler(sockJSSocket.&write)
})

router.get("/").handler({req -> req.response().sendFile('ws.html')})
router.route("/myapp").handler(sockJSHandler)

vertx.createHttpServer().requestHandler(router.&accept).listen(9090)
在客户端(ws.html):


Web套接字测试
var sock=new SockJS('http://localhost:9090/myapp');
sock.onopen=函数(){
console.log('open');
};
sock.onmessage=函数(e){
console.log('消息',例如数据);
};
sock.onclose=函数(){
console.log('close');
};
函数发送(消息){
发送(消息);
}
但是,当客户端尝试建立连接时,它会请求URL
http://localhost:9090/myapp/info
,这将导致404。我知道它是SockJS协议的一部分,但是为什么服务器端垂直体不能处理它呢?我应该自己处理“信息”请求吗


我做错了什么?

如果你看给出的例子

您需要在通配符地址上注册
SockJSHandler

<html>
<head><title>Web Socket Test</title></head>
<body>
<script src="http://cdn.jsdelivr.net/sockjs/0.3.4/sockjs.min.js"></script>

<script>
    var sock = new SockJS('http://localhost:9090/myapp');

    sock.onopen = function() {
        console.log('open');
    };

    sock.onmessage = function(e) {
        console.log('message', e.data);
    };

    sock.onclose = function() {
        console.log('close');
    };

    function send(message) {
        sock.send(message);
    }
</script>
<form onsubmit="return false;">
    <input type="text" name="message" value="Hello, World!"/>
    <input type="button" value="Send Web Socket Data" onclick="send(this.form.message.value)"/>
</form>
</body>
</html>