¿Cómo puedo programáticamente determinar si tengo acceso a un servidor con una dirección IP dada usando C#?¿Cómo puedo probar una conexión a un servidor con C# dada la dirección IP del servidor?
Respuesta
Suponiendo que decir a través de un socket TCP:
IPAddress IP;
if(IPAddress.TryParse("127.0.0.1",out IP)){
Socket s = new Socket(AddressFamily.InterNetwork,
SocketType.Stream,
ProtocolType.Tcp);
try{
s.Connect(IPs[0], port);
}
catch(Exception ex){
// something went wrong
}
}
Para más información: http://msdn.microsoft.com/en-us/library/4xzx2d41.aspx?ppud=4
La instancia de IP creada al declararse nunca se utilizará porque se pasa inmediatamente como un parámetro de salida, que siempre será reemplazado dentro del método llamado. Entonces dejaría la instanciación. Pero no puede hacerlo sin cambiar IP.TryParse a IPAddress.TryParse (es un método estático). Entonces yo también cambiaría eso. – user1132959
Declare dirección de la cadena y int puerto y ya está listo para conectarse a través de la clase TcpClient.
System.Net.Sockets.TcpClient client = new TcpClient();
try
{
client.Connect(address, port);
Console.WriteLine("Connection open, host active");
} catch (SocketException ex)
{
Console.WriteLine("Connection could not be established due to: \n" + ex.Message);
}
finally
{
client.Close();
}
Esto debe hacerlo
bool ssl;
ssl = false;
int maxWaitMillisec;
maxWaitMillisec = 20000;
int port = 555;
success = socket.Connect("Your ip address",port,ssl,maxWaitMillisec);
if (success != true) {
MessageBox.Show(socket.LastErrorText);
return;
}
¿Dónde defines socket? Este fragmento de código está incompleto. – Mixxiphoid
Usted podría utilizar la clase Ping (.NET 2.0 y superior)
Ping x = new Ping(); PingReply reply = x.Send(IPAddress.Parse("127.0.0.1")); if(reply.Status == IPStatus.Success) Console.WriteLine("Address is accessible");
Es posible que desee utilizar los métodos asyunchronous en un sistema de producción para permitir la cancelación, etc.
Esto tiene muchos votos ascendentes, pero no funcionará en todos los servidores. Para mí no funcionará. http://security.stackexchange.com/questions/4440/security-risk-of-ping 'Es una práctica común desactivar o bloquear Ping en servidores públicamente visibles. – teynon
- 1. ¿Cómo obtener la dirección IP del servidor?
- 2. ¿Cómo puedo probar una conexión saliente a una dirección IP así como a un puerto específico?
- 3. ¿Cómo encontrar la dirección IP del cliente conectado al servidor?
- 4. ¿Cómo obtener la dirección IP del servidor en ASP.NET?
- 5. ¿Cómo obtengo la dirección IP local del servidor usando PHP?
- 6. Detección de la dirección IP del cliente y del servidor
- 7. PHP Curl, recuperación de la dirección IP del servidor
- 8. Simplemente encontrar la dirección IP del servidor de
- 9. ¿Cómo puedo obtener el puerto ethernet dada la dirección IP?
- 10. ¿Es posible ocultar la dirección IP en una conexión PHP?
- 11. ¿Cómo probar una conexión persistente en un servidor HTTP?
- 12. Servidor de pantalla PHP Dirección IP
- 13. Entero a la dirección IP - C
- 14. ¿Cómo saber la dirección IP del servidor (usando JavaScript) a la que está conectado el navegador?
- 15. MySQL - conectar con el servidor remoto a través de la dirección IP
- 16. ¿Cómo puedo hacer Compojure escuchar a una sola dirección IP
- 17. TFS: mudarse a un nuevo servidor. ¿Cómo actualizar soluciones con nueva información del servidor?
- 18. ¿Cómo usar una IP de servidor diferente con PHP/cURL?
- 19. ¿Cómo puedo hacer una llamada entre IP directa a IP sin el servidor SIP?
- 20. Usando C# ¿puedo hacer una conexión SSL usando la Indicación del nombre del servidor (SNI)?
- 21. iPhone Socket TCP/IP del servidor/cliente
- 22. Conexión del servidor Tomcat a Eclipse
- 23. ¿Cómo configuro la dirección IP con CherryPy?
- 24. ¿Cómo obtengo la dirección IP del servidor/sitio web en asp.net?
- 25. Python: obtenga la dirección IP local utilizada para enviar datos IP a una dirección IP remota específica
- 26. HeidiSQL la conexión al servidor MySQL - Se perdió la conexión ... servidor en la lectura inicial
- 27. ¿Cómo puedo determinar a qué compañía pertenece una dirección IP?
- 28. Búsqueda de la dirección IP del usuario
- 29. WCF: cómo obtener el IP del servidor o el nombre del servidor
- 30. Cómo colocar mi nombre de dominio a mi dirección IP del servidor (Apache)
Es necesario aclarar algunas cosas. ¿Qué significa "acceso"? ¿Está intentando conectarse a un puerto particular en la máquina de destino? – Luke