Node.js之IP地址和端口号问题

 更新时间:2022年11月17日 17:09:20   作者:兮动人  
这篇文章主要介绍了Node.js之IP地址和端口号问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

Node.js IP地址和端口号

Web服务器开发

ip地址和端口号

  • ip 地址用来定位计算机
  • 端口号用来定位具体的应用程序
  • 所有需要联网通信的应用程序都会占用一个端口号
  • 一切需要联网通信的软件都会占用一个端口号·端口号的范围从0-65536之间
  • 在计算机中有一些默认端口号,最好不要去使用

例如http服务的80

在开发过程中使用一些简单好记的就可以了,例如3000、5000等没什么含义的

var http = require('http')

var server = http.createServer()

// 2. 监听 request 请求事件,设置请求处理函数
server.on('request', function (req, res) {
  console.log('收到请求了,请求路径是:' + req.url)
  console.log('请求我的客户端的地址是:', req.socket.remoteAddress, req.socket.remotePort)

  res.end('hello nodejs')
})

server.listen(5000, function () {
  console.log('服务器启动成功,可以访问了。。。')
})

当访问 5000 端口号时:

IP地址和端口号的概念

所有的联网的程序,都会进行网络通信

计算机只有一个物理网卡,而且同一个局域网中,网卡的地址必须是唯一的

网卡是通过唯一的IP地址来进行定位的

IP地址用来定位计算机

端口号用来具体的应用程序(软件)

一切需要联网的通信软件都会占用一个端口号

端口号的范围是0-65536之间

在计算机中有一些默认端口号,最好不要去使用例如:HTTP服务的80

在开发过程过程中,使用简单3000呀,8000呀是木有意义的。

启动服务器

打开cmd,输入ipconfig,调出IP地址(IPV4),你的IP地址和127.0.0.1(本机)是一致的,通过局域网(我的是IP地址:http://192.168.43.186:3000/)是可以和大家共享的。 

如何查看客户端是如何开启端口号进行的通信?

是通过net里面的api是:请求事件.socket.remotePort

console.log("请求我的客户端的端口号是"+request.socket.remotePort);

代码描述:

var http = require('http');
var server = http.createServer();
server.on('request',function(request,response){
    console.log("收到客户端请求了,请求路径是"+request.url);
// 请求对象的端口号查看 
    console.log("请求我的客户端的端口号是"+request.socket.remotePort);
})
server.listen(3000,function(){
    console.log("服务器启动成功。可以通过http://127.0.0.1:3000/ 来进行访问");
})

在同一局域网下,再通过定位IP地址,就可以得出真正的通信地址,得出访问服务器的远程客户端的“地址”

通过方法:request.socket.remoteAddress获取IP地址

var http = require('http');
var server = http.createServer();
server.on('request',function(request,response){
    console.log("收到客户端请求了,请求路径是"+request.url);
    // 请求对象的(远程)端口号查看,收到的是不同的端口号 
    console.log("请求我的客户端的端口号是"+request.socket.remotePort);
    // 请求我的客户端的IP地址是(远程)
    console.log("请求我的客户端的IP地址是"+request.socket.remoteAddress);
})
server.listen(3000,function(){
    console.log("服务器启动成功。可以通过http://127.0.0.1:3000/ 来进行访问");
})

通过本机不同的软件访问,端口号不同

不同的客户端请求IP地址不同

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • 在Node.js中实现获取用户频道信息的功能

    在Node.js中实现获取用户频道信息的功能

    在构建社交或视频分享平台时,允许用户查看其他用户的频道信息是一个基本需求,本文将介绍如何在Node.js应用中,使用Express框架和Mongoose库来实现这一功能,文中有相关的代码示例供大家参考,需要的朋友可以参考下
    2024-04-04
  • windows8.1+iis8.5下安装node.js开发环境

    windows8.1+iis8.5下安装node.js开发环境

    这篇文章主要介绍了windows8.1+iis8.5下安装node.js开发环境的方法,需要的朋友可以参考下
    2014-12-12
  • 创建简单的node服务器实例(分享)

    创建简单的node服务器实例(分享)

    下面小编就为大家带来一篇创建简单的node服务器实例(分享)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-06-06
  • Egret引擎开发指南之编译项目

    Egret引擎开发指南之编译项目

    Egret框架是一个基于MIT开源协议许可的永久免费的项目!你可以在项目中随意使用且修改它,并且拥有100%的控制权。你可以从Egret的Github网站获取它的源代码,从而了解和学习它的核心细节。Egret具有完善的文档,并且易于上手学习,可以让你更容易专注于游戏本身的开发
    2014-09-09
  • node.js中的http.response.getHeader方法使用说明

    node.js中的http.response.getHeader方法使用说明

    这篇文章主要介绍了node.js中的http.response.getHeader方法使用说明,本文介绍了http.response.getHeader的方法说明、语法、接收参数、使用实例和实现源码,需要的朋友可以参考下
    2014-12-12
  • 掌握Node.js中的Promise异步编程方式

    掌握Node.js中的Promise异步编程方式

    Node.js中的Promise是一种异步编程方式,可以解决回调地狱问题,提高代码可读性和可维护性。通过掌握Promise的使用方法,可以更好地进行异步编程,避免一些常见的错误和陷阱
    2023-05-05
  • Node.js编写组件的三种实现方式

    Node.js编写组件的三种实现方式

    这篇文章主要介绍了Node.js编写组件的三种实现方式,包括纯js实现、v8 API实现(同步&异步)、借助swig框架实现,感兴趣的小伙伴们可以参考一下
    2016-02-02
  • 前端包管理器npm、Yarn和pnpm的超全面比较

    前端包管理器npm、Yarn和pnpm的超全面比较

    NPM(Node Package Manager)是Node.js默认的包管理器,这篇文章主要给大家介绍了关于前端包管理器npm、Yarn和pnpm的超全面比较,文中介绍的非常详细,需要的朋友可以参考下
    2024-09-09
  • 基于node+websocket+html实现腾讯课堂聊天室聊天功能

    基于node+websocket+html实现腾讯课堂聊天室聊天功能

    这篇文章主要介绍了基于node+websocket+html实现腾讯课堂聊天室聊天功能,本文通过截图实例代码给大家介绍的非常详细,对大家的工作或学习具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-03-03
  • node.js require() 源码解读

    node.js require() 源码解读

    学习 Node.js ,必学如何使用 require 语句。本文通过源码分析,详细介绍 require 语句的内部运行机制,帮你理解 Node.js 的模块机制
    2015-12-12

最新评论