Microsoft MVP성태의 닷넷 이야기
.NET : 32. Wake-On-Lan C# 코드 [링크 복사], [링크+제목 복사]
조회: 11606
글쓴 사람
정성태 (techsharer at outlook.com)
홈페이지
첨부 파일
 

Wake-On-Lan Client with C#
; http://blogs.msdn.com/knom/archive/2008/12/31/wake-on-lan-client-with-c.aspx

Lan 카드에 신호를 보내서 전원을 켜는 기능이 있지요.
바로 그 기능을 활성화시키기 위한 패킷을 보내는 소스 코드입니다.








[최초 등록일: ]
[최종 수정일: 7/9/2021]

Creative Commons License
이 저작물은 크리에이티브 커먼즈 코리아 저작자표시-비영리-동일조건변경허락 2.0 대한민국 라이센스에 따라 이용하실 수 있습니다.

비밀번호

댓글 작성자
 



2009-01-01 11시45분
IP Address Calculations with C# (Subnetmasks, Networks, …)
; https://docs.microsoft.com/en-us/archive/blogs/knom/ip-address-calculations-with-c-subnetmasks-networks

IP/subnetmask를 알고 있는 상태에서 Network address와 broadcast address를 반환해주는 확장 메서드 소스 코드가 있습니다.

public static class IPAddressExtensions
{
    public static IPAddress GetBroadcastAddress(this IPAddress address, IPAddress subnetMask)
    {
        byte[] ipAdressBytes = address.GetAddressBytes();
        byte[] subnetMaskBytes = subnetMask.GetAddressBytes();

        if (ipAdressBytes.Length != subnetMaskBytes.Length)
            throw new ArgumentException("Lengths of IP address and subnet mask do not match.");

        byte[] broadcastAddress = new byte[ipAdressBytes.Length];
        for (int i = 0; i < broadcastAddress.Length; i++)
        {
            broadcastAddress[i] = (byte)(ipAdressBytes[i] | (subnetMaskBytes[i] ^ 255));
        }
        return new IPAddress(broadcastAddress);
    }

    public static IPAddress GetNetworkAddress(this IPAddress address, IPAddress subnetMask)
    {
        byte[] ipAdressBytes = address.GetAddressBytes();
        byte[] subnetMaskBytes = subnetMask.GetAddressBytes();

        if (ipAdressBytes.Length != subnetMaskBytes.Length)
            throw new ArgumentException("Lengths of IP address and subnet mask do not match.");

        byte[] broadcastAddress = new byte[ipAdressBytes.Length];
        for (int i = 0; i < broadcastAddress.Length; i++)
        {
            broadcastAddress[i] = (byte)(ipAdressBytes[i] & (subnetMaskBytes[i]));
        }
        return new IPAddress(broadcastAddress);
    }

    public static bool IsInSameSubnet(this IPAddress address2, IPAddress address, IPAddress subnetMask)
    {
        IPAddress network1 = address.GetNetworkAddress(subnetMask);
        IPAddress network2 = address2.GetNetworkAddress(subnetMask);

        return network1.Equals(network2);
    }
}
kevin25

1  2  3  4  5  [6]  7  8 
NoWriterDateCnt.TitleFile(s)
69정성태10/27/20064564.NET : 1. Typed DataSet 에서의 ExcludeSchema 사용
68정성태1/27/20075059Vista : 2. Elevate through ShellExecute
67정성태10/22/20064245Vista : 1. Programmatically determine if an application requires elevation
66정성태9/22/20064165Tip/Trick: UpdateProgress Control and AJAX Activity Image Animations
65정성태9/15/20069450Tip/Trick: Enabling Back/Forward-Button Support for ASP.NET AJAX UpdatePanel
64정성태2/23/20074371Why are NameValueCollection lookups slower than Hashtable? [Kim Hamilton]
63정성태8/30/20064266WinFormResizer for .NET 2.0, v.2.0.0020.3 Released!
62정성태8/21/20064072Stylistic differences in using
61정성태8/5/20064257Detecting Information Card Support (CardSpace!) in a browser
60정성태7/22/20064025JonGallant WebControls v1.0 - ScrollableContainer
59정성태3/2/20065320.NET이 왜 성공할 수밖에 없는가?
58정성태10/5/20055119한국 MSDN - 홈지기가 번역한 MSDN Magazine 자료
57정성태5/5/20054528구구단 프로그램을 제외하고, 벤더종속적이지 않은 프로그래밍 언어가 있나요?
53정성태3/4/20055847[마소 연재 기사: 2004-05] 특집 X-Inernet : 닷넷 스마트 클라이언트 [4]파일 다운로드1
52정성태3/4/20056092[마소 연재 기사: 2004-04] 실전!강의실 - IE에서 닷넷 스마트 클라이언트 개발 3파일 다운로드1
51정성태3/4/20056427[마소 연재 기사: 2004-03] 실전!강의실 - IE에서 닷넷 스마트 클라이언트 개발 2파일 다운로드1
55정성태3/30/20054879    답변글 [추가] 기본 보안만으로 구현하는 스마트 클라이언트 이벤트 구현
50정성태3/4/20058477[마소 연재 기사: 2004-02] 실전!강의실 - IE에서 닷넷 스마트 클라이언트 개발 1 [3]파일 다운로드1
49정성태9/7/20067696RSA 공개키/개인키 암호화, DES 암호화, MD5 단방향 해시 암호화 클래스 (C#) 2002.09.25파일 다운로드1
48정성태7/17/20035615C# 으로 만든 Base64 인코딩/디코딩 클래스 (C#) 2002.09.24파일 다운로드1
47정성태7/17/20034566C# 으로 만든 DLL 을 Managed C++ 에서 이용하는 예제 (C#, Managed C++) 2002.08.01파일 다운로드1
46정성태7/17/20034716.NET으로 만든 COM+ 객체를 HTML에서 사용 (C#, COM+) 2002.06.10파일 다운로드1
45정성태7/17/20034880COM+ 객체 원격 접근예제 (VC 6.0, ATL, COM+) 2002.05.31파일 다운로드1
44정성태7/17/20034815Win32 API Hook (VC 6.0, ATL) 2002.05.12파일 다운로드1
54정성태3/21/20054347    답변글 [추가]: 최근 나온 소개된 관련 기사파일 다운로드2
43정성태7/17/20035769탐색기 Namespace Extension 컨테이너 (VC 6.0, ATL) 2002.03.24파일 다운로드1
1  2  3  4  5  [6]  7  8