Node.js之IP地址和端口號問題
Node.js IP地址和端口號
Web服務(wù)器開發(fā)
ip地址和端口號
- ip 地址用來定位計算機(jī)
- 端口號用來定位具體的應(yīng)用程序
- 所有需要聯(lián)網(wǎng)通信的應(yīng)用程序都會占用一個端口號
- 一切需要聯(lián)網(wǎng)通信的軟件都會占用一個端口號·端口號的范圍從0-65536之間
- 在計算機(jī)中有一些默認(rèn)端口號,最好不要去使用
例如http服務(wù)的80
在開發(fā)過程中使用一些簡單好記的就可以了,例如3000、5000等沒什么含義的
var http = require('http') var server = http.createServer() // 2. 監(jiān)聽 request 請求事件,設(shè)置請求處理函數(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('服務(wù)器啟動成功,可以訪問了。。。') })
當(dāng)訪問 5000 端口號時:
IP地址和端口號的概念
所有的聯(lián)網(wǎng)的程序,都會進(jìn)行網(wǎng)絡(luò)通信
計算機(jī)只有一個物理網(wǎng)卡,而且同一個局域網(wǎng)中,網(wǎng)卡的地址必須是唯一的
網(wǎng)卡是通過唯一的IP地址來進(jìn)行定位的
IP地址用來定位計算機(jī)
端口號用來具體的應(yīng)用程序(軟件)
一切需要聯(lián)網(wǎng)的通信軟件都會占用一個端口號
端口號的范圍是0-65536之間
在計算機(jī)中有一些默認(rèn)端口號,最好不要去使用例如:HTTP服務(wù)的80
在開發(fā)過程過程中,使用簡單3000呀,8000呀是木有意義的。
啟動服務(wù)器
打開cmd,輸入ipconfig,調(diào)出IP地址(IPV4),你的IP地址和127.0.0.1(本機(jī))是一致的,通過局域網(wǎng)(我的是IP地址:http://192.168.43.186:3000/)是可以和大家共享的。
如何查看客戶端是如何開啟端口號進(jìn)行的通信?
是通過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("服務(wù)器啟動成功??梢酝ㄟ^http://127.0.0.1:3000/ 來進(jìn)行訪問"); })
在同一局域網(wǎng)下,再通過定位IP地址,就可以得出真正的通信地址,得出訪問服務(wù)器的遠(yuǎn)程客戶端的“地址”
通過方法:request.socket.remoteAddress獲取IP地址
var http = require('http'); var server = http.createServer(); server.on('request',function(request,response){ console.log("收到客戶端請求了,請求路徑是"+request.url); // 請求對象的(遠(yuǎn)程)端口號查看,收到的是不同的端口號 console.log("請求我的客戶端的端口號是"+request.socket.remotePort); // 請求我的客戶端的IP地址是(遠(yuǎn)程) console.log("請求我的客戶端的IP地址是"+request.socket.remoteAddress); }) server.listen(3000,function(){ console.log("服務(wù)器啟動成功。可以通過http://127.0.0.1:3000/ 來進(jìn)行訪問"); })
通過本機(jī)不同的軟件訪問,端口號不同
不同的客戶端請求IP地址不同
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
使用node.js半年來總結(jié)的 10 條經(jīng)驗
從3月初來到帝都某創(chuàng)業(yè)公司的服務(wù)器團(tuán)隊實習(xí),到現(xiàn)在已接近半年的時間。PS: 已轉(zhuǎn)正,服務(wù)器端用的 Node。2014-08-08NodeJS連接MySQL數(shù)據(jù)庫并進(jìn)行增刪改查操作詳解
本篇是使用NodeJS的模塊MySQL操作MySQL數(shù)據(jù)庫的基礎(chǔ)教程,連接MySQL數(shù)據(jù)庫并進(jìn)行增刪改查操作詳解,需要的朋友可以參考下2024-02-02