2012-01-13 3 views
2

Java를 사용하여 네트워크 이벤트를 캡처 할 수 있습니까?캡처 네트워크 연결 이벤트

예를 들어 허브에 ethenet 어댑터를 연결하면 '연결'이 표시되고 이는 Windows XP에서 감지되며 '거품'이 사용자에게 표시됩니다. Windows는 또한 응용 프로그램, 특히 Java로 작성된 응용 프로그램에서 캡처 할 수있는 이벤트를 브로드 캐스트합니까?

+0

내가 볼 수있는 모든 응용 프로그램이 연결이 가능하면 "수동으로"계속 확인하므로 이러한 이벤트가 브로드 캐스트되지는 않습니다. – Viruzzo

+0

@Kerubu, LAN 연결 또는 인터넷 연결을 확인 하시겠습니까? – gtiwari333

+0

LAN 연결. – Kerry

답변

1

내가 아는 한 Java에서 감지 할 수있는 이벤트가 없습니다. 매우 특정 OS입니다. 할 수있는 일은 가끔씩 사용 가능한 네트워크 인터페이스를 폴링하는 것입니다.

Enumeration<NetworkInterface> e = NetworkInterface.getNetworkInterfaces(); 
+0

이것은 내가 의심 한 것입니다. 가능한 경우 폴링을 피하고 싶습니다. 아마도 사용자가 시작한 수표/검색을 사용해야 할 것입니다. – Kerry

1

신뢰할 수있는 URL을 주기적으로 폴링하는 스레드를 만들어 네트워크 연결이 있는지 여부를 확인하는 것이 가장 좋습니다. Windows에서 네트워크 이벤트를 감지하려면 Windows API에 대한 JNI 호출이 필요합니다.

+1

URL을 폴링 하시겠습니까? 나는 인터넷 연결을 감지하지 못한다고 생각한다. "ethenet 어댑터를 허브에 연결하면 '연결'이됩니다."... 그는 이더넷 연결 이벤트가 Windows에서 감지 될 때이를 감지하려고합니다. – gtiwari333

+0

예, 정확히 그 뜻입니다. – Kerry