nodejs中tcp服务器和http服务器实现的异同
一,相同点
1,都调用了createServer方法。
2,当客户端接入时都会执行一个回调函数。
二,不同之处
1,回调函数的中对象的类型。net服务器中,是个连接(connect)对象,而在HTTP服务器中,则是请求和响应对象。
2,原因:
1,http服务器是更高层的API,提供了控制和HTTP协议相关的一些功能。
2,浏览器在访问站点时不会只用一个连接,很多主流的浏览器为了更快的加载网站内容,能够像同一个主机打开八个不同的连接,并发送请求。Node为了不让我们担心是请求还是连接,为我们提供了请求和响应的抽象。因此,即使你能通过reqconnection属性获得TCP连接对象,但大多数情况下你还是在与请求和响应的抽象打交道。
var connect = require('connect')
var http = require('http')
var app = connect()
var multipart = require('connect-multiparty');
// parse urlencoded request bodies into reqbody
var bodyParser = require('body-parser')
appuse(bodyParserurlencoded())
appuse(multipart())
// respond to all requests
apppost('/upload', function(req, resp) {
consolelog(reqbody, reqfiles);
// don't forget to delete all reqfiles when done
});
//create nodejs http server and listen on port
httpcreateServer(app)listen(3000)
这次给大家带来怎样实现安装Nodejs并启动本地服务,实现安装Nodejs并启动本地服务的注意事项有哪些,下面就是实战案例,一起来看一下。
1、下载安装包:
下载地址:https://nodejsorg/en/download/,根据自己电脑的配置下载相应的windows64位安装包,下载完成后,进行安装。
2、检查是否安装成功
安装完成后,打开命令行窗口,检查是否安装成功,如下图所示,键入node -v出现nodejs的版本,键入npm -v出现npm的版本,说明两者均已安装成功。
3、配置环境变量
由于我的电脑之前安装过nodejs,所以需要检测一下是否配置了环境变量,打开命令行,输入命令“path”,输出结果中可以看到环境变量已经包含了E:\nodejs\
4、创建一个应用
在创建应用“Hello World”前,先了解一下nodejs应用由哪几部分组成:
引入required模块:我们可以使用 require 指令来载入 Nodejs 模块。
创建服务器:服务器可以监听客户端的请求。
接收请求与响应请求:服务器很容易创建,客户端可以使用浏览器或终端发送 HTTP 请求,服务器接收请求后返回响应数据。
下面开始创建nodejs应用:
(1)引入require模块
我们使用 require 指令来载入 http 模块,并将实例化的 HTTP 赋值给变量 http,实例如下:
var http = require("http");(2)创建服务器
接下来我们使用httpcreatServer()方法创建服务器,并使用listen()方法绑定8080端口。函数通过request,response参数来接收和响应数据。实例如下:
var http = require('http');
httpcreateServer(function (request, response) {
// 发送 HTTP 头部
// HTTP 状态值: 200 : OK
// 内容类型: text/plain
responsewriteHead(200, {'Content-Type': 'text/plain'});
// 发送响应数据 "Hello World"
responseend('Hello World\n');
})listen(8080);
// 终端打印如下信息
consolelog('Server running at http://127001:8080/');使用node命令执行以上代码,结果如下图:
打开浏览器访问http://localhost:8080/,可以看到写着”Hello World”的网页,如下图:
相信看了本文案例你已经掌握了方法,更多精彩请关注Gxl网其它相关文章!
推荐阅读:
怎样操作vue中$emit 与$on父子与兄弟组件通信
如何使用JS事件绑定、事件流模型
0条评论