Android

Linux 和 Mac 的 UDP 命令?

  • February 4, 2014

我正在嘗試在同一台機器上的 2 個終端之間測試 UDP。

例如:

1號航站樓

  • UDP 監聽器@埠:3000
  • UDP 發送方到埠:3001

2號航站樓

  • UDP 監聽器@port:3001
  • UDP 發送方到埠:3000

並在環境 - MacOSX 終端和 Linux 終端(Android 模擬器)下測試上述內容。

有人知道這個命令嗎?

我用Google搜尋並找到nc了 UNIX,但對於 OSX

https://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沒有-uUDP 選項。


編輯:我得到的答案表明 OSXnc確實有-u選項。

話說回來。除了這個問題,這是我作為最終方法所做的;

對於 OSX:

我使用 node.js 而不是 Shell 命令來進行這些 UDP 測試。這對我來說更加強大和舒適。

對於安卓(Linux):

我準備了一個測試Android App項目來測試。複製項目,打開相同的項目,執行 2 個相同的實例(模擬器)。

僅供日後參考。

OS Xnc確實有一個-u選項,告訴它使用 UDP。唯一棘手的是您必須nc -u在每個終端上執行兩個實例,一個發送和一個偵聽;並且由於一個(通常是偵聽器)將在後台,使用 control-C 退出它只會退出前台實例;你必須明確地殺死背景。這應該這樣做:

nc -u -l 3000 & nc -u localhost 3001; kill $!

…然後只需反轉另一個終端上的埠號。當您殺死前台 (sending)nc時,它也會執行kill $!並清理偵聽器。

引用自:https://unix.stackexchange.com/questions/112394