J'écris une application qui sera utilisée dans un environnement mobile où la connectivité réseau sera régulière. Comment puis-je vérifier qu'un réseau spécifique est disponible?Vérifiez la disponibilité du réseau VB.net
Répondre
Essayez NetworkInterface.GetIsNetworkAvailable
:
Indique si une connexion réseau est disponible.
Une connexion réseau est considérée comme disponible si l'une des interfaces réseau est marquée «haut» et n'est pas une interface de bouclage ou de tunnel.
Pour voir si un réseau est disponible, vous pouvez utiliser l'espace de noms Mon VB.NET:
My.Computer.Network.IsAvailable
que je suppose est une abstraction de la propriété NetworkInterface
dans la réponse d'Andrew. Pour voir si vous pouvez utiliser un réseau disponible pour se rendre à un serveur spécifique, vous pouvez utiliser
My.Computer.Network.Ping(host name or IP address, or a System.Uri)
J'aime déterrer de vieux fils! Ma solution était de tester avec DNS. De cette façon, vous pouvez tester des noms spécifiques à l'intérieur du réseau xxx pour savoir si vous êtes à l'intérieur ou à l'extérieur. Les instructions try imbriquées montrent ce concept.
Imports System.Net
Module Networker
Dim Online_Status As Boolean = vbFalse
Dim InsideJoeNetwork As Boolean = vbFalse
Dim CurrentJoeIPAddress As New IPHostEntry
Public ReadOnly Property GetOnlineStatus() As String
Get
Return Online_Status
End Get
End Property
Public ReadOnly Property InsideJoeNet() As String
Get
Return InsideJoeNetwork
End Get
End Property
Sub Initialize()
Set_Online_Status()
End Sub
Public Sub Set_Online_Status()
If My.Computer.Network.IsAvailable Then
Try
Dim DNSTest As IPHostEntry = Dns.GetHostEntry("google.com")
If DNSTest.AddressList.Length > 0 Then
Online_Status = True
Detect_Joe_Network()
Else : Online_Status = False
End If
Catch ex As System.Net.Sockets.SocketException
Online_Status = False
End Try
End If
End Sub
Public Sub Detect_Joe_Network()
If Online_Status = True Then
Dim JoeIP As IPHostEntry = New IPHostEntry()
Try
JoeIP = Dns.GetHostEntry("laptop")
If JoeIP.AddressList.Length > 0 Then
InsideJoeNetwork = True
CurrentJoeIPAddress = JoeIP
'MessageBox.Show(JoeIP.HostName.ToString(), "JoeIP", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Catch ex As Sockets.SocketException
Try
JoeIP = Dns.GetHostEntry("laptop.exampledomain.com")
If JoeIP.AddressList.Length > 0 Then
InsideJoeNetwork = False
CurrentJoeIPAddress = JoeIP
' MessageBox.Show(JoeIP.HostName.ToString(), "JoeIP", MessageBoxButtons.OK, MessageBoxIcon.Information)
End If
Catch ey As Sockets.SocketException
End Try
End Try
End If
End Sub
End Module
- 1. Comment détecter la disponibilité réelle du réseau?
- 2. Vérifiez la disponibilité du nom d'utilisateur à la volée?
- 3. Disponibilité du réseau pour passer un appel
- 4. Vérifiez nom d'utilisateur/email disponibilité question de conception
- 5. La vérification de disponibilité du réseau renvoie false mais le téléphone est en ligne.
- 6. Vérifier la disponibilité du domaine Java
- 7. disponibilité de l'agent SNMP dans le périphérique réseau
- 8. Disponibilité du modèle dans ActionFilter
- 9. Disponibilité du site Web API
- 10. WCF Disponibilité du contrat d'exploitation
- 11. WCF - vérification du client pour la disponibilité du service
- 12. Existe-t-il une méthode alternative pour vérifier la disponibilité du réseau dans l'iPhone au lieu de l'accessibilité du service?
- 13. Mootools datepicker pour la disponibilité
- 14. Disponibilité du formulaire Windows pendant le traitement
- 15. Disponibilité du système dans Delphi 2009
- 16. Vérification de la disponibilité du port COM en C#
- 17. Vérifier la disponibilité du service de rappel WCF
- 18. Comment connaître la disponibilité du type de données dans Postgres
- 19. Vérification de la disponibilité du module par programme en Python?
- 20. Recherche de domaines réseau connectés à VB.Net
- 21. VB.net Réseau Code/algorithme de graphe
- 22. T-SQL: vérifiez si IP correspond au masque de réseau
- 23. Vérifiez si une colonne existe dans vb.net, ADO.net
- 24. Vérifiez la bonne typographie
- 25. Windows Mobile: Vérifiez si le réseau est disponible
- 26. Problème de disponibilité
- 27. Nom d'utilisateur Disponibilité
- 28. Recherche de la disponibilité d'un serveur par programme
- 29. Comment vérifier la disponibilité d'une exportation NFS en utilisant Ruby?
- 30. Vérifier LVM disponibilité
Y at-il un moyen plus rapide de faire cela? Cet appel particulier est relativement lent et cause des problèmes de performances dans une application mobile sur laquelle je travaille. (Je l'ai conçu pour fonctionner avant chaque interaction - donc il fonctionne beaucoup) Mon appareil a deux périphériques réseau - si je pouvais trouver un moyen de vérifier seulement un adaptateur qui m'intéresse, au moins en théorie ce serait 50% plus rapide. Quelqu'un sait comment faire cela? – Jeff