Bonjour à tous,
Pour une installation artistique, j'ai besoin de mettre en réseau adhoc plusieurs machines (mac mini). Une machine maître envoie des données vers quatre machines esclaves.
J'utilise pour cela un script que j'ai trouvé et adapté (mes connaissance en applescript sont trés faible).
Ce script scanne le réseau wifi et détecte si un réseau "hnet" existe. Si il existe, il y connecte la machine. Si il n'existe pas, il le crée.
C'est donc le même script qui tourne sur toutes les machines.
Deux fois sur dix, ce système ne fonctionne pas pour la raison suivante: Une machine esclave ne voit pas le réseau "Hnet" suffisament rapidement (pour des raison d'encombrement du réseau certainement) et cherche donc a en créer un autre. Cela finit par une erreur "Hnet already exist" et cela bloque ma machine.
Ce script ne possède pas de boucle de réitération en cas d'échec.
Je pense qu'il me faut un systême plus simple avec deux script différentié: un qui crée le réseau (machine maître) avec boucle de réitération en cas d'échec, et un qui connecte (machine esclave) avec réitération aussi en cas d'échec.
Je peux me débrouiller pour trouver de tels script sur internet ou transformer celui que j'ai pour cela.
Ce que je ne sais pas faire, c'est une boucle pour relancer la détection en cas d'échec.
Avez vous des idées ?
Merci beaucoup.
Ci joint le script que j'utilise (attention, interface en anglais):
property NetworkName : "Hnet"
delay 5 -- wait for menu bar startup
tell application "System Events"
tell process "SystemUIServer"
tell menu bar 1
set menu_extras to value of attribute "AXDescription" of menu bar items
repeat with the_menu from 1 to the count of menu_extras
delay 2
if item the_menu of menu_extras starts with "Wi-Fi" then exit repeat
end repeat
tell menu bar item the_menu
perform action "AXPress"
delay 2
if title of menu item 2 of menu 1 is "Turn Wi-Fi On" then
perform action "AXPress" of menu item "Turn Wi-Fi On" of menu 1
delay 3
perform action "AXPress"
delay 3
end if
if title of menu items of menu 1 contains NetworkName then
say "Joining " & NetworkName
perform action "AXPress" of menu item NetworkName of menu 1
say "Media Server Ready"
error number -128
end if
delay 2
perform action "AXPress" of menu item "Create Network…" of menu 1
end tell
end tell
delay 0.3
tell window 1
delay 0.5
set value of text field 1 to NetworkName
click button 1
end tell
delay 3
end tell
end tell
Partager