Dites, j'ai 2 cartes réseau actives ou plus sur ma machine. J'utilise une application C# à partir de laquelle j'appelle un service asynchrone. Je veux être en mesure de déterminer quelle adresse IP ai-je utilisé lors de l'appel de ce service. Par exemple, mes deux adresses IP actives sont 192.168.10.5 et 192.168.5.7 et l'adresse IP du service est 192.168.7.12.déterminez quelle adresse IP a été utilisée pour ouvrir une URL dans C#
Répondre
Vous pouvez essayer ceci:
public static string GetExternalIP()
{
try
{
using (WebClient client = new WebClient())
{
string ip = client.DownloadString("http://whatismyip.com/automation/n09230945.asp");
return ip;
}
}
catch (Exception) { return null; }
}
code légèrement retravaillé de http://www.hackcommunity.com/Thread-ASKING-FOR-REP-ROCKY-PART-2
Hmm. Je ne pense pas qu'il existe une solution gérée. GetBestInterface et/ou GetBestRoute sembleraient être les bons endroits pour commencer dans l'API WIn32 (probablement GetBestRoute, en le lisant).
De plus, en raison des caprices de cette merveilleuse chose qu'Internet et du routage dynamique, au moment où vous avez trouvé la réponse, cela a peut-être changé.
Il est peut-être préférable de fournir au service une liste d'adresses IP, et de le laisser utiliser celui qui fonctionne.
Modifier
Ou vous pourriez être en mesure d'utiliser WCF callbacks et faire WCF ne la plupart des travaux dur (je ne l'ai pas passé beaucoup de temps dans WCF lui-même, ne sais pas combien il serait travail faites pour vous ici)
- 1. Quelle langue a été utilisée pour programmer l'application 'Angry Birds'?
- 2. Déterminez si une connexion a été rompue
- 3. Pourquoi valider une adresse IP?
- 4. Comment savoir quelle fonction de hachage a été utilisée?
- 5. Réécrivez une URL qui a déjà été redirigée?
- 6. adresse IP externe en C#
- 7. Comment changer une adresse IP en C++?
- 8. Validation de champ pour une adresse IP
- 9. Géocode une adresse IP?
- 10. Adresse IP à Entier - C
- 11. Comment savoir quelle version de flash a été utilisée pour créer un fichier swf
- 12. Déterminez quel bouton a été enfoncé dans Tkinter?
- 13. adresse IP dans Silverlight
- 14. Comment libérer la mémoire qui a été utilisée pour une variable en C?
- 15. Notre serveur subversion a une nouvelle adresse IP - maintenant quoi?
- 16. Détecter une adresse IP contrefaite?
- 17. Comment obtenir une adresse IP?
- 18. Google Analytics - Adresse IP comme URL de site Web
- 19. Quelle notification NotifyCollectionChangedAction est utilisée pour indiquer qu'un élément a été modifié?
- 20. comment remplacer url de la page Web avec adresse ip
- 21. Découvrez quelle version de Boost a été utilisée pour compiler un exécutable/DLL
- 22. Quelle technologie a été utilisée pour implémenter cette interface utilisateur Web enrichie?
- 23. Adresse IP ejabberd
- 24. Déterminez si un événement a déjà été attaché
- 25. Attraper adresse IP change
- 26. Bind: Adresse déjà utilisée
- 27. Comment puis-je résoudre une adresse IP?
- 28. interne et externe Adresse IP dans 10.4
- 29. Adresse déjà utilisée avec boost asio acceptor
- 30. Adresse IP Navigateur
duplication possible de [Obtenir l'adresse IP du client dans WCF 3.0] (http://stackoverflow.com/questions/93162/obtaining-client-ip-address-in-wcf-3-0) – Timores
C'est un peu flou de la question - essayez-vous de déterminer cette information auprès du client ou du service? –
déterminez-le à partir du client afin que je l'envoie au serveur, afin que le serveur puisse contacter le client en utilisant cette adresse – Zee99