2008-09-25 34 views

Respuesta

8

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

+2

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

7

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(); 
} 
-1

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; 
} 
+3

¿Dónde defines socket? Este fragmento de código está incompleto. – Mixxiphoid

16

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.

+1

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

Cuestiones relacionadas