[VB.NET] Problème Dns.GetHostEntry sur un w2K web svr 2K8 virtualisé
Bonjour,
Toujours mon application de lecture de sockets.
Sur un serveur réel, elle fonctionne correctement.
Je la déplace sur un serveur virtualisé sous windows Web Server 2008, et elle ne fonctionne pas.
Le principe est simple. J'execute mon appli. Lorsque je clique sur le bouton démarrer, la date et l'adresse ip du serveur s'affiche dans la listbox. Les boitiers GPS qui se connectent à cette appli s'affichent les uns derrière les autres.
Voici le code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
| Public adresse_ip As String = "xxx.xxx.xxx.xxx"
Dim ipAddress As IPAddress = Dns.GetHostEntry(adresse_ip).AddressList(0)
Dim serverSocket As New TcpListener(ipAddress, port)
Dim clientSocket As TcpClient = Nothing
Dim date_socket As Date
Dim ip_socket_connecté As String
Try
serverSocket.Start()
Invoke(New Ajout(AddressOf msg), New Object() {Date.Now & " : Serveur démarré. Port " + port.ToString + " - " + ipAddress.ToString})
counter = 0
'On écoute les clients qui veulent se connecter
'Boucle infinie
While (True)
counter += 1
clientSocket = serverSocket.AcceptTcpClient()
Invoke(New Ajout(AddressOf msg), New Object() {Date.Now & " : Client No: " + Convert.ToString(counter) + " Démarré ! " + " IP : " + clientSocket.Client.RemoteEndPoint.ToString})
date_socket = Date.Now 'Date
ip_socket_connecté = clientSocket.Client.RemoteEndPoint.ToString 'IP
client.startClient(clientSocket, Convert.ToString(counter), ip_socket_connecté, date_socket)
End While
clientSocket.Close()
serverSocket.Stop()
Invoke(New Ajout(AddressOf msg), New Object() {"exit"})
Catch ex As IOException
ecrire_dans_la_console(Date.Now.Date & " 000-IOEXCEPTION : Erreur : " & ex.Message)
Catch ex As SocketException
ecrire_dans_la_console(Date.Now.Date & " 000-SOCKET : Erreur : " & ex.Message)
End Try |
J'ai remplacé l'adresse ip par l'adresse l'adresse ip public, localhost, 127.0.0.1 mais rien ne se passe.
Est-ce que le fait d'être sur un serveur virtuel pose un problème. Cela m'étonne.
Une idée ?
Merci d'avance
Tems
Nouméa
Problème à demi-résolu - suite
J'ai désormais une visu de l'adresse ip dans ma listbox.
Résolution du problème : Bien qu'ayant un framework 3.0, j'ai dû redescendre la cible de l'appli au framework 2.0, pour que cela fonctionne.
Sous le 3.5 il m'indiquait lors du debug, qu'il ne pouvait pas charger l'assembly system.xml.linq, or je n'utilise pas linq dans cette appli. Logique ?
Maintenant que je vois que mon appli affiche l'adresse ip dans ma listbox, celle ci est maintenant au format IPV6. Et donc, l'appli n'écoute pas la bonne adresse ip.
Comment procéder pour forcer à écouter l'adresse ip v4 ?
Merci d'avance