iT邦幫忙

2026 iThome 鐵人賽

DAY 23
0
AI Engineering

30 天從資料處理、分析到生成式 AI 的整合應用與實作學習系列 第 23 篇

從 localhost 到區域網路:認識 IP Address 與 Port

  • 分享至 

  • xImage
  •  

要串接 LINE Messaging API之前,LINE 是如何找到我的 Backend?因此要讓其他裝置,甚至外部服務連到 Backend,先來理解一個請求是如何找到 Server 的,從 Host、IP Address 和 Port 開始。

以目前的網址為例: http://localhost:8081/api/chat

http://localhost:8081/api/chat
│ │ │
│ │ └─ Port
│ └─────────── Host
└────────────────── Protocol

localhost

是一個 Loopback Hostname,會指向目前使用的裝置。
所以:http://localhost:8081 表示在本地電腦上尋找 8081 Port 的服務。那如果要從手機上開啟呢?我們沒辦法在手機上入同樣的 localhost,就自動找到電腦上的 Java Backend,手機就需要透過 IP Address。

IP Address

IP Address 可以用來辨識網路中的主機。如果把同一個區域網路想像成一個大型社區,IP Address 就像每一戶的位置。知道 IP Address 後,手機就能可以透過這個位址找到我的電腦。而當天一台電腦同時執行瀏覽器、Java Backend、資料庫或其他程式時,要怎麼知道我要找的是哪一個服務?這就是 Port 的工作。

Port

Port 就像主機上的不同剪票口,當請求找到這台主機後,可以透過不同的 Port,找到要連線的網路服務。不同的服務可以監聽不同的 Port,等待請求進來。

實作:

了解這些概念後,接著直接來測試:如果手機和電腦連到同一個 Wi-Fi,手機能不能透過 IP Address 找到電腦上的服務?

在終端機輸入 ipconfig ,找到
https://ithelp.ithome.com.tw/upload/images/20261006/20184235u8PYsAdS7M.png

網頁從 http://localhost/ 變成 http://192.168.1.123/
https://ithelp.ithome.com.tw/upload/images/20261006/201842358VjGIsUhio.png
手機也可以連到
https://ithelp.ithome.com.tw/upload/images/20261006/20184235uUmzz0tnA2.png

LINE 不在我的 Wi-Fi 裡,怎麼辦?

目前因為手機和電腦位於同一個區域網路。手機可以找到這台電腦上的服務。但如果要串接 LINE Messaging API,訊息的來源並不是我的手機直接呼叫 Java Backend,而是會經過 LINE Platform
這樣 Backend 就需要提供一個能夠存取的 Endpoint 給 LINE Platform 。


上一篇
AI Backend 如何讓不同來源的 Frontend 存取?認識 CORS
下一篇
Webhook:外部服務怎麼主動通知 Backend?
系列文
30 天從資料處理、分析到生成式 AI 的整合應用與實作學習 共 26 篇
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言