iT邦幫忙

1

批次檔中加入逾時功能

我想丟一段 socket 到 server,但不想無限期等下去
希望能在裡面加入逾時的功能,請問辦得到嗎?
原批次檔內容如下:
SET KEY1=0
FOR /F %%i IN (
'ECHO 1~2~3 ^| C:\nc64 127.0.0.1 3333'
) DO SET KEY2=%%i

IF %KEY1% NEQ %KEY2% (
ECHO %TIME% failed>> C:\log_%d%.log
)
謝謝

看更多先前的討論...收起先前的討論...
我怎麼感覺,批次檔,在邦幫忙裡被神話了?為何不能用程式語言或PYTHON來做呢?POWERSHELL也可以啊
ccutmis iT邦高手 9 級 ‧ 2019-08-06 09:03:32 檢舉
試試這個
TIMEOUT /T 10
參考來源:
https://www.robvanderwoude.com/wait.php#TIMEOUT
cfox iT邦新手 3 級 ‧ 2019-08-06 10:13:50 檢舉
@ccutmis 有試過…但不管加在哪,不是格式不符,就是 KEY2 取不到值 Orz
ccutmis iT邦高手 9 級 ‧ 2019-08-06 10:39:11 檢舉
@cfox 那就參考japhenchen說的改用Python來做? 也許比較簡單
蟹老闆 iT邦大師 1 級 ‧ 2019-08-06 11:36:23 檢舉
C:\nc64 127.0.0.1 3333 是什麼?
cfox iT邦新手 3 級 ‧ 2019-08-06 13:32:56 檢舉
@蟹老闆 利用 NetCat for Windows 來傳送 socket
後來也用 NetCat 原生的 -w 功能解掉此問題
試這個
@ping localhost -n 10 > nul
(10 是秒數,丟給nul才不會顯示)
ping 1次大慨是一秒
cfox iT邦新手 3 級 ‧ 2019-08-08 10:43:50 檢舉
@frankychen timeout 和 ping 都能實現延遲時間
以這次的例子,似乎找不到可以擺放的地方
只能用 nc -w 來解, 如:
FOR /F %%i IN (
'ECHO 1~2~3 ^| C:\nc64 -w 10 127.0.0.1 3333'
) DO SET KEY2=%%i

尚未有邦友回答

立即登入回答