当前位置:首页 > CN2资讯 > 正文内容

nodemon服务器

2天前CN2资讯

我的运行环境

ubuntu 9.10 

node v0.1.32

如果你没有Linux环境,可以在windows上装vmware 然后再在上面跑 linux

1.安装最新nodejs v0.1.32

获得nodejs 的源码

wget http://nodejs.org/dist/node-v0.1.32.tar.gz tar xzvf node-v0.1.32.tar.gz cd node-v0.1.32 ./configure make make install

如果安装成功,查看你的node版本号

node -v


2.开始nodejs之旅——创建一个http 服务器

 

nodejs 本身就包含了http server ,通过 require("http")包含http这个module,你就可以使用http server 了

var sys = require('sys'), http = require('http'); http.createServer(function (req, res) { setTimeout(function () { res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('Hello World'); res.close(); }, 2000); }).listen(8006);

 

sys.puts('Server running at http://127.0.0.1:8006/');

做web开发的应该对请求和响应了然于胸了,浏览器用户发送一个请求(request),服务器接受这个请求,处理以后返回一个响应(response)。
nodejs 提供对request和response更低层次的控制。比如你可以给request 添加一个end事件 。就像在浏览器端添加DOM事件那样。嗯,我觉得这很cool!

var sys = require('sys'), http = require('http'); http.createServer(function (req, res) { req.addListener("end",function(){ sys.puts("request end"); }); setTimeout(function () { res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('Hello World'); res.close(); }, 2000); }).listen(8006); sys.puts('Server running at http://127.0.0.1:8006/');

在终端上可以看到

浏览器上可以看到

为什么要延迟两秒才向返回信息呢,完全没必要嘛(我这个例子是在API里抄的)

var sys = require('sys'), http = require('http'); http.createServer(function (req, res) { res.writeHead(200, {'Content-Type': 'text/plain'}); res.write('Hello World'); res.close(); }).listen(8006); sys.puts('Server running at http://127.0.0.1:8006/');

所以去掉setTimeout,依然OK!

 

 

3.事件驱动的服务器端编程

设想一下吧,在校内上发了一条消息,你怎样让你的消息传递给你的好友呢?用事件来触发再合适不过了,而JavaScript正是事件驱动的,只需要实现一种事件机制当你发送更新,服务器端接受到这个更新就触发一个事件,向所有你的好友传递这个消息。当然,真正要实现立刻发送到你的好友的浏览器端(他必须是在线的),还需要要长连接,这样才能保证服务器端把消息推送到浏览器端(server push )。

 

 

我觉得那个很费劲,nodejs 的作者就写了一个服务器推(server push )的demo 一个聊天室 。

大家可以前去观望一下 http://chat.tinyclouds.org/ 其实现是基于轮询(long polling)的方式,虽然比起websocket 来显得不够优雅,但是确实可行。

 

websocket 现在还不可用,node.websocket.js 只能用于localhost 。

 

聊天室源代码这儿 

 

 

为什么强调这个例子呢?因为nodejs就是为长连接、高并发而生,将来的web世界肯定是实时的! 

(api 改了好多,运行不了了)

    你可能想看:

    扫描二维码推送至手机访问。

    版权声明:本文由皇冠云发布,如需转载请注明出处。

    本文链接:https://www.idchg.com/info/23281.html

    分享给朋友:

    “nodemon服务器” 的相关文章

    如何通过AWS CDN提升网站性能与安全性?全面解析Amazon CloudFront

    什么是AWS CDN AWS CDN,也就是Amazon CloudFront,是一个全球性的内容分发网络服务。它通过遍布全球的节点网络,确保内容能够快速、安全地传递给用户。无论是静态网页、动态内容,还是流媒体,AWS CDN都能提供高效的分发服务。它的设计目标是通过减少延迟和提高数据传输速度,提升...

    选择Lisahost VPS服务,提升您海外电商、游戏和流媒体体验

    Lisahost 是一家于 2020 年 1 月成立的 VPS(虚拟专用服务器)提供商,专注于为全球用户提供高质量的云服务。我发现它的目标市场覆盖了包括香港、台湾、韩国、日本、新加坡、美国和英国等多个地区。作为一家新兴企业,lisahost 用创新的服务模式和多样化的产品,为需要高效网络及流畅访问的...

    搬瓦工最新优惠码分享,让你享受更多折扣

    在寻找优质VPS时,搬瓦工(BandwagonHost)绝对是一个热门的选择。为了让用户在购买过程中享受到更多优惠,现在分享一下搬瓦工最新的优惠码。 最新优惠码是BWHCGLUKKB,通过这个优惠码用户可以享受6.78%的循环优惠,这一优惠适用于搬瓦工全场的商品,无论是新购、续费还是升级服务,都能获...

    如何将800G硬盘进行有效分区

    在我们深入探讨硬盘分区之前,理解硬盘分区的概念非常重要。硬盘分区是将一个物理硬盘划分为多个独立部分的过程。每个分区就像独立的小仓库,可以用来存储不同类型的数据,比如系统文件、应用程序、甚至个人文件。当我第一次接触硬盘的时候,就被这个划分方法吸引住了。不仅能帮助我更好地管理和查找文件,还能提高系统的运...

    菲律宾用户如何通过VPS提升TikTok访问速度

    在菲律宾使用VPS访问TikTok,这个话题对很多喜欢在TikTok上进行电商活动或内容创作的人来说非常重要。首先,我想谈谈VPS的概念以及它的优势。VPS,全称是虚拟专用服务器,它提供了一种比共享主机更为灵活和高效的解决方案。对于菲律宾的用户来说,通过使用VPS,可以在一定程度上绕过地区限制,更流...

    宝塔面板PHP扩展新增和配置指南

    宝塔面板作为一款功能强大的服务器管理工具,不仅支持Linux,还支持Windows系统。这使得它成为了很多开发者和网站管理员的首选,因为它提供了包括网站管理、数据库管理、文件管理、以及FTP管理等多个方面的功能。最吸引我的地方在于,宝塔面板可以一键安装PHP、MySQL、Nginx等环境,简化了繁琐...