connect function no check the SSID, then no return when the SSID is wrong
1/ On Mac, install (the last version of) node-wifi with command npm install node-wifi 2/ In Hyper (a terminal), run node 3/ Copy paste the code `var wifi = require('node-wifi');
// Initialize wifi module
// Absolutely necessary even to set interface to null
wifi.init({
iface : null // network interface, choose a random wifi interface if set to null
});
4/ Connect your computer to your wifi, with GUI.
5/ Copy paste the other code// Connect to a network
wifi.connect({ ssid : "FreeWifi", password : ""}, function(err) {
if (err) {
console.log(err);
}
console.log('Connected');
});`
6/ Wait few seconds.
node-wifi try to connect FreeWifi SSID (it's a free wifi not secured in France from "Free" popular company). But failed. Mac reconnect your favorite wifi SSID. And node-wifi say "Connected" because no check the SSID connected.
Expectation : throw an error.
Bonjour,
J'avoue ne pas avoir testé node-wifi sur un freeWifi.
Est ce que tu pourrais tester les manipulations suivantes ?
- lancer la commande
ifconfiget vérifier que l'interface en0 existe bien. - lancer la commande `networksetup -setairportnetwork "en0" "freeWifi"
Pourrais-tu afficher le résultat ici ?
Bonjour, En somme, le problème n'est pas FreeWifi, mais tout simplement que si tu n'arrive pas à te connecter à un réseau pour une raison ou une autre, Mac OS te reconnecte automatiquement à ton réseau wifi (en suivant l'ordre de la liste de préférence de réseau wifi).
C'est tout à fait possible mais j'avoue que node-wifi devrait emettre un message d'erreur même si c'est jamais très simple avec les commandes wifi.
N'hésite pas à me dire de quelle manière je peux t'aider.
Je viens de tester avec la configuration suivante :
- macOS 10.12.5
- FreeWifi
Et cela fonctionne parfaitement avec le code qui tu as mis ci-dessus. Mon mac arrive à se connecter au freeWifi. Pour un réseau où le mot de passe est mauvais, il renvoie l'erreur suivante via la commande networksetup -setairportnetwork "en0" "freeWifi_secure" "toto" :
Failed to join network FreeWifi_secure.
Error: -3900 The operation couldn’t be completed. (com.apple.wifi.apple80211API.error error -3900.)Failed to join network FreeWifi_secure.
Error: -3900 The operation couldn’t be completed. (com.apple.wifi.apple80211API.error error -3900.)Failed to join network FreeWifi_secure.
Error: -3900 The operation couldn’t be completed. (com.apple.wifi.apple80211API.error error -3900.)Failed to join network FreeWifi_secure.
Error: -3900 The operation couldn’t be completed. (com.apple.wifi.apple80211API.error error -3900.)Failed to join network FreeWifi_secure.
Error: -3900 The operation couldn’t be completed. (com.apple.wifi.apple80211API.error error -3900.)Failed to join network FreeWifi_secure.
Error: -3900 The operation couldn’t be completed. (com.apple.wifi.apple80211API.error error -3900.)Failed to join network FreeWifi_secure.
Error: -3900 The operation couldn’t be completed. (com.apple.wifi.apple80211API.error error -3900.)
Et la même erreur est renvoyée via node-wifi.
Cela peut dépendre de ta configuration réseau (si échec automatiquement se reconnecter à un autre réseau ?). Mais j'avoue ne pas trop m'y connaître en mac sur cela. A tout hasard, je vais améliorer la stabilité en améliorant les gestions des retours d'erreurs dans node-wifi.