2010-07-16 34 views
1

J'ai 2 questions pour vous.C# Pinging ports particuliers et les pouvoirs proxy

Je crée une application pour le chat qui repose sur Jabber, dont le serveur est le port 5222 pour le serveur.

Port Ping

Comment puis-je ping un serveur via le port 5222 et vérifiez si son ouverture et de répondre.

Quelque chose comme Ping.Once(Settings.Defualt.ChatServerDomain,Settings.Defualt.ChatServerPort);

authentification Proxy

À mon travail mes applications ne connecte pas en raison du serveur proxy que nous courons, Dans IE, vous pouvez définir les paramètres de proxy sorcière permettent toutes les applications générales de connexion a lancé , mais mon application n'utilise pas ces paramètres. Donc, ce que je dois faire est de créer un petit vérificateur pour voir si derrière un serveur proxy et si nous montrons une fenêtre pour authentifier les informations d'identification de l'utilisateur. et également lier l'application à leurs informations d'identification afin que toute demande sera authentifiée lors de l'ouverture de l'application.

Ce que je veux dire en termes de codage

if(ProxyAuthRequired()) 
{ 
    ProxyAuthWindow ProxyAuthWindow = new ProxyAuthWindow(); 
    CurrentWindow.Enable = false; 
    /* 
    * Within the Form ProxyAuthWindow, This will callback to my main controller after 
    * The auth is checked and ok, This is what i do not know how to do 
    */ 
    ProxyAuthWindow.Show(); //Ask for the credentials and check the port inside here 
} 
+1

Veuillez scinder ceci en deux questions. –

+0

Eh bien là vraiment le même problème, la connexion au serveur, et l'authentification au serveur. Je ne m'occupe pas de les séparer – RobertPitt

Répondre

3
  1. Pour Ping: Essayez Ping classe

  2. Voici comment vous pouvez check and set the proxy les informations d'identification.

+0

Ping n'accepte pas les numéros de port :( – RobertPitt

+2

@Robert: Je pense que vous devrez utiliser 'System.Net.Socket', par exemple la classe' TcpClient', pour * essayer * de se connecter à une adresse IP spécifique/port et voir si vous êtes en mesure de se connecter ou obtenir une exception –

+0

Merci allot, c'est exactement ce dont j'avais besoin :) – RobertPitt