2009-07-06 3 views
1

3G 연결이 가능한 모바일 장치 (전체 Windows 설치)에서 사용할 프로그램을 만들고 있습니다. 특정 장치에 3G 연결이있는 경우이를 사용하고 싶습니다. 그러나 프로그램은 현재 사용할 수있는 연결 및 속도의 유형에 따라 통신의 우선 순위를 지정할 수 있어야합니다.셀룰러 네트워크와 802.11 및 이더넷의 연결 및 속도 감지? C# .Net

System.Net.NetworkInformation.NetworkInterface를 사용하여 네트워크 인터페이스 목록을 가져올 수 있지만 인터페이스가 셀 데이터, 무선 또는 일반 이더넷인지, 사용 가능한 속도인지 확인하는 좋은 방법이 있습니다. (특히 셀 데이터의 경우)?

답변

0

현재 연결된 모든 네트워크 연결을 나열합니다. 시작할 장소 여야합니다.

var interfaces = NetworkInterface.GetAllNetworkInterfaces() 
    .Where(n => n.OperationalStatus == OperationalStatus.Up) 
    .Select(n => new { Nic = n, Speed = n.Speed }); 
+1

NetworkInterfaceType을 던져 넣으면 해당 휴대 전화인지 여부를 알려야합니다. http://msdn.microsoft.com/en-us/library/system.net.networkinformation.networkinterface.networkinterfacetype.aspx – user7116

+0

이 정보는 이미 얻을 수 있습니다. 문제는 A) 속도가 인터페이스의 최대 속도 인 것처럼 보이고 B) 셀 장치의 InterfaceType이 ...일까요? 이더넷은 분명하지만 어떤 종류의 셀이 나타날지는 알 수 없습니다. – Totty

+0

@ 토티 : 어떤 장치를 사용하고 있습니까? 네트워크 인터페이스는 가지고있는 정보만을 제공 할 수 있습니다. 자세한 정보를 얻으려면 WMI 또는 pInvoke의 세계를 즐기십시오. –