Javascript WebSocket服务器未立即接收消息
Node.JS服务器无法快速接收消息 服务器代码:Javascript WebSocket服务器未立即接收消息,javascript,node.js,heroku,websocket,Javascript,Node.js,Heroku,Websocket,Node.JS服务器无法快速接收消息 服务器代码: var WebSocketServer = require("ws").Server var http = require("http") var express = require("express") var app = express() var port = process.env.PORT || 5000 app.use(express.static(__dirname + "/")) var server = http.crea
var WebSocketServer = require("ws").Server
var http = require("http")
var express = require("express")
var app = express()
var port = process.env.PORT || 5000
app.use(express.static(__dirname + "/"))
var server = http.createServer(app)
server.listen(port)
console.log("http server listening on %d", port)
var wss = new WebSocketServer({server: server})
console.log("websocket server created")
wss.on("connection", function(ws) {
var id = setInterval(function() {
ws.send(JSON.stringify(new Date()), function() { })
}, 1000)
console.log("websocket connection open")
ws.on("message", function(msg){
ws.send(msg);
})
ws.on("close", function() {
console.log("websocket connection close")
clearInterval(id)
})
})
要连接的代码:
var z = new WebSocket("ws://appname.herokuapp.com/");
z.onopen = function(){ console.log("opened"); };
// ... after opened message seen in console, the following
// were typed directly into the console, a few seconds apart
z.send("H");
z.send("Hello World");
z.send("Hello World asdf");
在第三次发送完成之前(即使是在其他发送之后一分钟),服务器不会响应H
或Hello World
;所有三个回答都是同时作出的。如何使服务器及时响应
(使用WireShark,我检查了发送是否确实完成;它们是)
编辑:每次响应前的请求量/时间都不同