2010-10-15 32 views
2

我正在嘗試創建一個調試偵聽器,它偵聽端口上的數據字符串並將其作爲參數轉發給php腳本。我如何指定端口的輸入應該用作參數?我可以使用netcat運行PHP CLI w /參數嗎?

例如:遠程設備發送一個字符串與逗號分隔值value1,value2,value3,我想要運行的命令php file.php value1,value2,value3並在$_SERVER["argv"][1]使用的值。

任何幫助,將不勝感激!

回答

3

這樣的事情,也許?發送的每一行都將運行PHP腳本的單獨調用。請注意,一旦連接關閉,netcat將退出;有些版本有一個標誌,告訴它回去聽。或者你可以在一個while循環中包裝整個東西,或者你可以看看inetd或xinetd而不是netcat,雖然這些可能有點重量級。

nc -l myport | while read line ; do php file.php "$line" ; done 
+0

這就是我所需要的!我添加了-k開關以接受多個連接,現在已經夠用了。也許以後我會修補inetd並用更適合linux環境的東西替換php代碼。謝謝您的幫助! – onik 2010-10-15 08:05:55

+0

不客氣!您可能已經想到了這一點,但如果這是在公共IP地址上,請記住防止您的端口,這樣陌生人不會觸發您的腳本。 – Jander 2010-10-15 08:20:27

+0

iptables照顧,但謝謝提醒:) – onik 2010-10-15 10:12:59

相關問題