2012-12-10 9 views
8

Come posso ottenere tutte le connessioni TCP attive utilizzando .NET Framework (nessuna importazione PE non gestita!)?Come posso ottenere tutte le connessioni TCP attive utilizzando .NET Framework (nessuna importazione PE non gestita!)?

Sto entrando nella programmazione di socket e vorrei verificarlo. Nella mia ricerca ho trovato soluzioni importando un file DLL non gestito che non mi interessa.

+6

La sua non è sempre possibile utilizzare puro .net – Dani

+1

trovo difficile da credere. – RollRoll

+0

Ci sono molte cose che sono state fatte deliberatamente inaccessibili da .net, specialmente cose di basso livello. Questo è stato spesso fatto per ragioni di sicurezza in modo che tu sappia che una dll che usa solo codice gestito non può fare certe cose sul tuo sistema. –

risposta

19

Sono sorpreso dalla quantità di utenti che mi dicono che non era possibile fare con il codice gestito puro ... Per i futuri utenti che sta chiedendo a tale proposito, trovare i dettagli della risposta che ha funzionato bene per me:

//Don't forget this: 
using System.Net.NetworkInformation; 

public static void ShowActiveTcpConnections() 
{ 
    Console.WriteLine("Active TCP Connections"); 
    IPGlobalProperties properties = IPGlobalProperties.GetIPGlobalProperties(); 
    TcpConnectionInformation[] connections = properties.GetActiveTcpConnections(); 
    foreach (TcpConnectionInformation c in connections) 
    { 
     Console.WriteLine("{0} <==> {1}", 
          c.LocalEndPoint.ToString(), 
          c.RemoteEndPoint.ToString()); 
    } 
} 

e chiamare ShowActiveTcpConnections() ad elencare, impressionante e bello.

Fonte: IPGlobalProperties.GetActiveTcpConnections Method (MSDN)

+0

è una cosa costosa, per ottenere connessioni TCP. vale a dire. Voglio usare questo in ambiente live dietro una richiesta web, va bene? – mecek

+1

So di essere in ritardo per la festa ma potresti renderlo ancora più semplice se questo è tutto ciò che stai facendo, 'foreach (var c in IPGlobalProperties.GetIPGlobalProperties(). GetActiveTcpConnections())' – chewbapoclypse

Problemi correlati