Kadang-kadang saya perlu mengunduh file yang sangat besar dari internet menggunakan torrents (Saya menggunakan Transmission) dan Wi-Fi selalu turun. Saya membeli beberapa router dan modem dan tidak ada yang berfungsi. Saya sudah mengalami masalah ini untuk sementara waktu (~ 10 tahun, dengan Windows dan Mac).
Sekarang saya memutuskan untuk belajar sedikit, dan menulis beberapa AppleScript yang menghubungkan kembali secara otomatis:
repeat
if (do shell script "curl --connect-timeout 1 <WIFI_IP>") = "curl: (7) couldn't connect to host" then
do shell script "networksetup -setairportpower AirPort off"
do shell script "networksetup -setairportpower AirPort on"
do shell script "networksetup -setairportnetwork en1 <ROUTER_NAME> <ROUTER_PASS>"
end if
end repeat
bagian setelah then
bekerja, ia terputus dari Wi-Fi dan menghubungkan kembali, tetapi masalahnya ada pada if
bagian itu, karena saya tidak tahu bagaimana mendeteksi ketika koneksi Wi-Fi terputus oleh torrent. Bagaimana saya harus melakukan ini?
Juga, ulangi dengan interval akan sangat baik, seperti: repeat every 10 seconds
.
delay 300
sebelumrepeat end
agar skrip tidak terus-menerus memeriksa koneksi. 300 detik akan memeriksa setiap 5 menit.