我是node.js的新手,如果这很简单,请原谅无知.
我想要做的是设置一个简单的node.js http服务器,web客户端连接到该服务器.我还希望node.js服务器在单独的端口上充当UDP侦听器,在该端口上它将从其他应用程序接收JSON有效负载.我希望node.js服务器立即将这些JSON有效负载转发到一个或多个连接的Web客户端.
我从一些最初的谷歌搜索到这里远:
创建一个简单的node.js http服务器,该服务器使用静态html页面进行响应:
//Initialize the HTTP server on port 8080, serve the index.html page
var server = http.createServer(function(req, res) {
res.writeHead(200, {
'Content-type': 'text/html'});
res.end(fs.readFileSync(__dirname + '/index.html'));
}).listen(8080, function() {
console.log('Listening at: 127.0.0.1 8080');
}
);
Run Code Online (Sandbox Code Playgroud)在单独的端口上初始化UDP服务器:
//Initialize a UDP server to listen for json payloads on port 3333
var srv = dgram.createSocket("udp4");
srv.on("message", function (msg, rinfo) {
console.log("server got: " + msg + " from " + rinfo.address + ":" + rinfo.port);
io.sockets.broadcast.emit('message', 'test');
//stream.write(msg);
//socket.broadcast.emit('message',msg); …Run Code Online (Sandbox Code Playgroud)对于大多数操作,哈希表的摊销性能通常被认为是O(1).
比如标准的LinkedList实现,搜索操作的摊销性能是多少?是O(n)?
我对这是如何计算有点困惑,因为在最坏的情况下(假设总是碰撞的哈希函数),哈希表在搜索操作方面几乎等同于LinkedList(假设一个标准)斗式实施).
我知道在实践中这种情况永远不会发生,除非哈希函数被破坏,因此平均性能几乎是一系列操作的恒定时间,因为碰撞很少见.但在计算摊销的最坏情况时,我们不应该考虑最坏情况下的最坏情况序列吗?