nodejs 的 express 和 socketio 之间的区别
Difference between express and socketio for nodejs
我是nodejs编程的新手,并且正在为node开发各种js。我的问题是一个基本问题。有人可以解释一下快速和插座之间的区别吗?
据我所知,express是一个中间件,我们可以在中间件上使用Jade等模板引擎将数据推送到浏览器。那么插座是做什么的呢?它是传输层吗?理解其中的区别以及为什么我们需要在nodejs应用程序中使用express和socket对我来说是令人困惑的。
Express 是一个应用程序服务器。您可以定义路由并编写代码以生成应用程序的页面或 API 响应。它基本上是一个名为Sinatra的红宝石项目的端口。它适用于传统的请求/响应 HTTP 模型。
Socket.io 可以帮助您实现实时类型功能的服务器推送模型,例如警报/通知、聊天或您想要执行的任何更新,如果您希望它们只显示在浏览器中而不等待用户单击"刷新"按钮或类似的东西。
Express http 服务器提供从客户端到服务器的请求响应模型。
Socket.io 启用客户端和服务器之间的双向通信通道。
套接字io和express是完全不同的。但是新手会感到困惑,因为在大多数在线教程中,人们使用应用程序服务器作为快速和双向通信通道作为Socketio。他们将两个代码放在同一个服务器.js文件中。让我们以以下示例为例(从著名的在线教程复制的代码):
const express = require("express");
const app = express();
const port = 3000;
const http = require('http').createServer();
app.use(require('cors')());
const io = require("socket.io")(http, {
cors: {
origin: "*",
methods: ["GET", "POST"]
}
})
http.listen(port,()=>{
console.log("server is running on "+port);
})
阅读此代码后,新的节点学习器很容易感到困惑。所以不需要把两者放在一起。例如,只需从上面的代码示例中删除快速代码,Socketio 服务器仍将完美运行。
const port = 3000;
const http = require('http').createServer();
const io = require("socket.io")(http, {
cors: {
origin: "*",
methods: ["GET", "POST"]
}
})
http.listen(port,()=>{
console.log("server is running on "+port);
})
我不使用快递。我个人喜欢Apache作为我的应用程序服务器。因此,您可以单独使用任何应用程序服务器,它将处理您的静态请求并作为 Web 服务器工作。
- 全局变量和全局对象的属性之间有什么区别吗
- JavaScript中的函数和对象之间没有区别吗?
- 在下划线中使用_(obj).map(callback)和_.map(obj,callback)之间的区别
- javascript函数的:和=之间的区别
- 什么's本地node.js服务器和python简单http服务器之间的区别
- 函数中this和var之间的区别
- “util.inherits”和在NodeJS中扩展原型之间的区别
- Math.min()和Math.max()之间有什么区别?在Javascript中
- webpack开发模式和生产构建模式之间有什么区别
- servlet和代理servlet之间的区别
- Javascript 类型未定义和 void 之间的区别
- Javascript-defineProperty和直接在对象上定义函数之间的区别
- 关于承诺/A+规范,术语“当时可”和“承诺”之间有什么区别
- 布局引擎和javascript引擎之间的区别
- 什么's extjs中的mon()和on()之间的区别
- type=text/javascript和language=javascript之间的区别
- 函数()和新函数()之间的区别
- JavaScript中let和var之间的区别
- 蓝鸟的done()和spread()之间的区别
- Node.js HTTP/NET——连接和请求之间的区别