IP地址和端口号的概念

Posted 勇敢*牛牛

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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地址不同

以上是关于IP地址和端口号的概念的主要内容,如果未能解决你的问题,请参考以下文章

IP地址和端口号的概念

ip地址和端口号的概念

PHP就业班心得:IP与域名以及DNS和端口号的概念

谈谈-IP地址和端口号

IP地址和端口号的组合叫啥?

node的ip地址和端口号