Android
Linux 和 Mac 的 UDP 命令?
我正在嘗試在同一台機器上的 2 個終端之間測試 UDP。
例如:
1號航站樓
- UDP 監聽器@埠:3000
- UDP 發送方到埠:3001
2號航站樓
- UDP 監聽器@port:3001
- UDP 發送方到埠:3000
並在環境 - MacOSX 終端和 Linux 終端(Android 模擬器)下測試上述內容。
有人知道這個命令嗎?
我用Google搜尋並找到
nc
了 UNIX,但對於 OSXhttps://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/nc.1.html
$ nc [~] usage: nc [-46AcCDdFhklMnOortUuvz] [-K tc] [-b boundif] [-i interval] [-p source_port] [-s source_ip_address] [-w timeout] [-X proxy_version] [-x proxy_address[:port]] [hostname] [port[s]]
似乎
nc
沒有-u
UDP 選項。編輯:我得到的答案表明 OSX
nc
確實有-u
選項。話說回來。除了這個問題,這是我作為最終方法所做的;
對於 OSX:
我使用 node.js 而不是 Shell 命令來進行這些 UDP 測試。這對我來說更加強大和舒適。
對於安卓(Linux):
我準備了一個測試Android App項目來測試。複製項目,打開相同的項目,執行 2 個相同的實例(模擬器)。
僅供日後參考。
OS X
nc
確實有一個-u
選項,告訴它使用 UDP。唯一棘手的是您必須nc -u
在每個終端上執行兩個實例,一個發送和一個偵聽;並且由於一個(通常是偵聽器)將在後台,使用 control-C 退出它只會退出前台實例;你必須明確地殺死背景。這應該這樣做:nc -u -l 3000 & nc -u localhost 3001; kill $!
…然後只需反轉另一個終端上的埠號。當您殺死前台 (sending)
nc
時,它也會執行kill $!
並清理偵聽器。