Acceuil vb.net(500) VB.NET et le réseau
|
| VB.NET et le réseau |
2011-02-01 |
|
Comment obtenir les adresses IP d'un ordinateur ?
-------------------------------------------------------------------------
Pour obtenir les adresses IP d'un ordinateur on utilise la fonction Resolve de la Classe System.Net.Dns
Voici une petite fonction qui le fait. Pour avoir les adresses IP de l'ordinateur local il suffit de l'appeler sans paramètre.
Imports System.Net
Function GetIPaddresses(Optional ByVal computername As String = "localhost") As String()
Dim saddr() As String
Dim addr() As IPAddress = Dns.Resolve(computername).AddressList()
Dim i As Integer
If addr.Length > 0 Then
saddr = New String(addr.Length - 1) {}
For i = 0 To addr.Length - 1
saddr(i) = addr(i).ToString
Next
End If
Return saddr
End Function
Comment envoyer un mail par SMTP ?
---------------------------------------------------------
Il faut ajouter à son projet la référence System.Web.Mail (qui aurait dû s'appeler System.Net.Mail à mon avis).
Ensuite ça se fait tout seul. Exemple:
Shared Sub Main(ByVal args As String())
Dim msg As MailMessage = New MailMessage
msg.From = "expediteur@free.f"
msg.To = "atoi@free.fr;alui@free.fr"
msg.Cc = "encoreatoi@free.fr"
msg.Body = "Bonjour" & Convert.ToChar(10) & "" + "Ceci est le contenu du mail" & Convert.ToChar(10) & "" + "A bientôt"
msg.Attachments.Add(New MailAttachment("c:fichierjoint.txt", MailEncoding.UUEncode))
SmtpMail.SmtpServer = "smtp.nerim.fr"
SmtpMail.Send(msg)
End Sub
J'attire votre attention sur un point : Les exceptions levées par la fonction SmtpMail.Send en cas d'échec, ne sont pas toujours très explicites!!
N'hésiter pas à consulter MSDN sur la classe System.Web.Mail.MailMessage. Elle dispose de nombreuses autres propriétés.
Comment télécharger et afficher le contenu d'une page web ?
----------------------------------------------------------------------------
On utilise les classes HttpWebRequest, HttpWebResponse qui encapsulent la communication socket du protocole HTTP. On utilise ensuite la classe StreamReader pour lire le flux de la réponse
Namespaces à utiliser
Imports System.Net
Imports System.IO
Le code suivant utilise une Form avec un contrôle TextBox nommé textBox1, un contrôle RichTextBox nommé richTextBox1 et un contrôle Button nommé button1.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
Handles Button1.Click
Dim HttpWResponse As HttpWebResponse = Nothing
Dim sr As StreamReader = Nothing
Try
Dim HttpWRequest As HttpWebRequest = CType(WebRequest.Create(textBox1.Text), HttpWebRequest)
HttpWResponse = CType(HttpWRequest.GetResponse, HttpWebResponse)
sr = New StreamReader(HttpWResponse.GetResponseStream)
richTextBox1.Text = sr.ReadToEnd
Catch ex As Exception
MessageBox.Show(ex.Message)
Finally
If Not (HttpWResponse Is Nothing) Then
HttpWResponse.Close
End If
If Not (sr Is Nothing) Then
sr.Close
End If
End Try
End Sub
Comment savoir si mon PC est connecté à internet ?
----------------------------------------------------------------------
On se sert de la fonction InternetGetConnectedState de la dll win32 wininet.dll
using System.Runtime.InteropServices;
' Déclaration de l'API
Private Declare Function InternetGetConnectedState Lib "wininet.dll" ( _
ByRef lpdwFlags As Integer, _
ByVal dwReserved As Integer) As Boolean
' Utilisation de l'API
Public Function IsConnected() as Boolean
Dim Desc As Integer
return InternetGetConnectedState(Desc, 0)
End Function
Comment lister les ordinateurs d'un domaine Active Directory ?
---------------------------------------------------------------------------------
Pour lister les ordinateurs d'un domaine Active Directory veuillez procéder comme suit :
Imports System.DirectoryServices
Private Function GetPCList(ByVal DomainPath As String)As ArrayList
Dim PCList As Arraylist
Dim DomainEntry As New DirectoryEntry(DomainPath)
Dim Entry As DirectoryEntry
DomainEntry.Children.SchemaFilter.Add("Computer")
For Each entry In DomaineEntry.Children
ComputerList.Add(entry.Name)
Next
Return PCList
End Sub
Comment autoriser l'exécution d'une application sur l'intranet ?
---------------------------------------------------------------------------------
Par défaut, il n'est pas possible d'exécuter une application se trouvant sur l'intranet. Voici la marche à suivre pour autoriser cette exécution :
•Allez dans Paramètres - Panneau de configuration - Outils d'administration - Microsoft .NET Framework Configuration.
•Dans la fenêtre qui s'affiche, déployez l'arbre jusqu'à atteindre le noeud suivant : Poste de travail - Stratégie de sécurité du runtime - Ordinateur - Groupes de codes - All_Code - LocalIntranet_Zone
•Faites un clic droit sur ce dernier noeud puis Propriétés. Dans la fenêtre qui s'affiche allez dans l'onglet Jeu d'autorisations et là passez l'autorisation de LocalIntranet à FullTrust.
Cette opération peut également se faire en ligne de commande avec l'utilitaire caspol.exe qui se trouve dans le répertoire C:WINDOWSMicrosoft.NETFrameworkv2.0.50727 pour le framework 2.0.
Par exemple
caspol -q -m -ag 1.2 -zone Intranet FullTrust -n My_Zone
Cette commande va ajouter un groupe de code nommé My_Zone avec le jeu d'autorisations FullTrust sur la zone Intranet, prenant ainsi le pas sur le jeu d'autorisations LocalIntranet de la zone LocalIntranet_Zone.
Pour supprimer un groupe c'est aussi simple
caspol -q -m -rg My_Zone
|
| Commentaires des visiteurs : |
|