Node.js之IP地址和端口號問題
Node.js IP地址和端口號

Web服務器開發(fā)
ip地址和端口號
- ip 地址用來定位計算機
- 端口號用來定位具體的應用程序
- 所有需要聯(lián)網(wǎng)通信的應用程序都會占用一個端口號
- 一切需要聯(lián)網(wǎng)通信的軟件都會占用一個端口號·端口號的范圍從0-65536之間
- 在計算機中有一些默認端口號,最好不要去使用
例如http服務的80
在開發(fā)過程中使用一些簡單好記的就可以了,例如3000、5000等沒什么含義的
var http = require('http')
var server = http.createServer()
// 2. 監(jiān)聽 request 請求事件,設置請求處理函數(shù)
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地址和端口號的概念
所有的聯(lián)網(wǎng)的程序,都會進行網(wǎng)絡通信
計算機只有一個物理網(wǎng)卡,而且同一個局域網(wǎng)中,網(wǎng)卡的地址必須是唯一的
網(wǎng)卡是通過唯一的IP地址來進行定位的
IP地址用來定位計算機
端口號用來具體的應用程序(軟件)
一切需要聯(lián)網(wǎng)的通信軟件都會占用一個端口號
端口號的范圍是0-65536之間
在計算機中有一些默認端口號,最好不要去使用例如:HTTP服務的80
在開發(fā)過程過程中,使用簡單3000呀,8000呀是木有意義的。
啟動服務器
打開cmd,輸入ipconfig,調(diào)出IP地址(IPV4),你的IP地址和127.0.0.1(本機)是一致的,通過局域網(wǎng)(我的是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/ 來進行訪問");
})
在同一局域網(wǎng)下,再通過定位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地址不同

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用node.js半年來總結(jié)的 10 條經(jīng)驗
從3月初來到帝都某創(chuàng)業(yè)公司的服務器團隊實習,到現(xiàn)在已接近半年的時間。PS: 已轉(zhuǎn)正,服務器端用的 Node。2014-08-08
NodeJS連接MySQL數(shù)據(jù)庫并進行增刪改查操作詳解
本篇是使用NodeJS的模塊MySQL操作MySQL數(shù)據(jù)庫的基礎教程,連接MySQL數(shù)據(jù)庫并進行增刪改查操作詳解,需要的朋友可以參考下2024-02-02

