Environment: Mac osx lion
Grails version: 2.1.0
Java: 1.7.0_08-ea
如果我開始在內部BootStrap.groovy中嵌入模式了vertx和嘗試打通過多個瀏覽器相同的WebSocket端點,請求得到排隊。爲什麼請求vertx嵌入Grails的任何想法被同步排隊
因此,根據請求的時間,在執行一個請求後,下一個請求進入處理程序。
我試過這兩個websocket和SockJs,並注意到兩者都有相同的行爲。
BootStrap.groovy中(SockJs):
def vertx = Vertx.newVertx()
def server = vertx.createHttpServer()
def sockJSServer = vertx.createSockJSServer(server)
def config = ["prefix": "/eventbus"]
sockJSServer.installApp(config) { sock ->
sleep(10000)
}
server.listen(8088)
的javascript:
<script>
function initializeSocket(message) {
console.log('initializing web socket');
var socket = new SockJS("http://localhost:8088/eventbus");
socket.onmessage = function(event) {
console.log("received message");
}
socket.onopen = function() {
console.log("start socket");
socket.send(message);
}
socket.onclose = function() {
console.log("closing socket");
}
}
OR
BootStrap.groovy中(的WebSockets):
def vertx = Vertx.newVertx()
def server = vertx.createHttpServer()
server.setAcceptBacklog(10000);
server.websocketHandler { ws ->
println('**received websocket request')
sleep(10000)
}.listen(8088)
的javascript
socket = new WebSocket("ws://localhost:8088/ffff");
socket.onmessage = function(event) {
console.log("message received");
}
socket.onopen = function() {
console.log("socket opened")
socket.send(message);
}
socket.onclose = function() {
console.log("closing socket")
}
我不確定它是Grails問題還是vertx問題。 – bluesman