2012-12-10 10 views
8

.NET Framework'ü (yönetilmeyen PE içe aktarma!) Kullanarak tüm etkin TCP bağlantılarını nasıl edinebilirim?.NET Framework'ü (yönetilmeyen PE içe aktarma yok!) Kullanarak tüm etkin TCP bağlantılarını nasıl edinebilirim?

Soket programına giriyorum ve bunu kontrol etmek istiyorum. Araştırmamda, ilgilenmediğim bir yönetilmeyen DLL dosyasını içe aktararak çözümler buldum.

+6

Onun değil her zaman mümkün saf .net – Dani

+1

kullanarak ben inanmak zor buluyorum. – RollRoll

+0

Kasıtlı olarak özellikle düşük seviyeli şeylerden .net'e erişilemeyen birçok şey var. Bu genellikle güvenlik nedenleriyle yapılmıştır, böylece yalnızca yönetilen kod kullanan bir dll'nin sisteminize belirli şeyler yapamayacağını biliyorsunuzdur. –

cevap

19

Kullanıcıların, saf yönetilen kodla yapmanın mümkün olmadığını söylediği kullanıcılara şaşırdım ... Gelecekteki kullanıcılar için bu konuda merak kim, benim için iyi çalıştı cevap ayrıntıları bulabilirsiniz:

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

ve müthiş ve güzel, listeleyebilmemiz ShowActiveTcpConnections() arayın.

Kaynak: IPGlobalProperties.GetActiveTcpConnections Method (MSDN)

+0

bu tcp bağlantılarını almak için kullanışlıdır. yani. Bunu bir web isteğinin arkasındaki canlı ortamda kullanmak istiyorum, tamam mı? – mecek

+1

Biliyorum, partiye geç kaldım ama bunu yapmak daha da kolaylaştırabiliyor olsaydınız, 'foreach (IPGlobalProperties.GetIPGlobalProperties()' da var c. GetActiveTcpConnections()) ' – chewbapoclypse

İlgili konular