redes - ¿Cómo puedo probar una conexión a un servidor con C#dada la dirección IP del servidor?
socket udp (4)
¿Cómo puedo determinar programáticamente si tengo acceso a un servidor con una dirección IP dada usando C #?
Declare la dirección de cadena y el puerto int y 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 debería 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;
}
Puede usar 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 simplificados en un sistema de producción para permitir la cancelación, etc.
Suponiendo que quiere 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 obtener más información: http://msdn.microsoft.com/en-us/library/4xzx2d41.aspx?ppud=4