REAL DOS · REAL TCP/IP · PUBLIC MQTT BROKER
DOS 程式,自己上網。
兩台 FreeDOS 各有一張虛擬 NE2000 網卡,載入 Crynwr 封包驅動與 mTCP TCP/IP 堆疊並用 DHCP 取得位址。A.EXE 訂閱 MQTT 並在收到後 1 秒 echo;B.EXE 每次執行送出一則附時間的訊息,網頁每 5 秒執行一次 B。
A機器 A BACKGROUND / LISTENER
A.EXE · 訂閱 topic · 收到後 1 秒 echo
BOOT
B機器 B FOREGROUND / SENDER
B.EXE · 執行一次送一則訊息 · 每 5 秒執行
BOOT
LOG
觀察:A 有沒有收到 B 送的訊息
0 / 0 MATCHED
按下「開始」後,這裡會列出從兩台 DOS 畫面上讀到的事件,以及橋接器看到的 TCP 連線。
01—04
資料怎麼走
- DOSA.EXE / B.EXE 用 mTCP 自己做 DNS、TCP 三向交握與 MQTT 3.1.1。
- 網卡封包經 Crynwr NE2000 驅動送到 v86 虛擬網卡,DHCP 與 DNS(DoH)由 v86 回應。
- 橋接瀏覽器不能開原生 TCP,網頁把 DOS 對 1883 埠的位元組串流原封不動轉成 WSS。
- broker公開 MQTT broker 看到的是標準 MQTT 封包;DOS 時鐘為 UTC。
TEST
跨分頁/跨裝置
把 topic 複製到另一個分頁或裝置,兩邊的 A 都會收到對方 B 的訊息。也可用任何 MQTT 工具對同一 topic 發佈,看 A 的 DOS 畫面。