Microsoft MVP성태의 닷넷 이야기
.NET : 32. Wake-On-Lan C# 코드 [링크 복사], [링크+제목 복사]
조회: 10314
글쓴 사람
정성태 (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 카드에 신호를 보내서 전원을 켜는 기능이 있지요.
바로 그 기능을 활성화시키기 위한 패킷을 보내는 소스 코드입니다.




donaricano-btn



[최초 등록일: ]
[최종 수정일: 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)
173정성태4/12/20119538레지스트리 : 11. BHO를 IE와 탐색기에서 선택적으로 로드하고 싶다면?
172정성태4/1/20118788.NET : 44. ContextBoundObject
171정성태3/30/20118700.NET 4.0 : 1. ASP.NET WF4 / WCF and Async Calls
170정성태3/25/20118558.NET 3.0 : 5. WCF How To’s Index [2]
169정성태3/10/20119920.NET : 43. 열려진 소켓 포트를 소유한 Process ID 구하는 방법 [2]
165정성태10/20/20109484레지스트리 : 10. 탐색기의 특정 폴더에 대해 Webdev.WebServer40.exe 로 호스팅을 시작하는 메뉴 추가
164정성태10/11/20108753.NET : 42. Writing Windows Shell Extension with .NET Framework 4 (C#, VB.NET)
163정성태8/27/20107557.NET : 41. Writing Files from Low-Integrity Processes
162정성태8/24/20107748.NET : 40. Self STS
161정성태5/16/201010533.NET : 39. #SNMP - C# Based Open Source SNMP for .NET and Mono
160정성태5/11/20107783.NET : 38. How to get info from client certificates issued by a CA (C#)
159정성태4/30/20107554.NET : 37. How to write a VS2010 Extension using Statement Lambdas
158정성태12/20/200920930명령행 : 6. 배치 파일에서 현재 디렉터리 알아내는 방법 [1]
157정성태11/12/20098242.NET : 36. Dictionary&lt;,&gt; 개체 직렬화
156정성태11/10/20099406.NET : 35. UDP 패킷의 경유 IP 설정 (Source Routing)
155정성태11/4/20098089.NET : 34. MSDeploy 명령행에 대응되는 C# 코드 예제
154정성태7/13/20097615.NET 3.0 : 4. WCF - 연결 개체 닫기
153정성태6/29/20097023.NET : 33. Creating audio signals in .NET
152정성태1/6/20097615.NET 3.0 : 3. WPF - StatefulUserControlBase.cs
151정성태1/1/200910314.NET : 32. Wake-On-Lan C# 코드 [1]
150정성태12/12/20086985.NET 3.5 : 7. ETW / .NET Framework 3.5
149정성태12/3/20087453Win32 : 4. Using Windows Vista Built-In Double Buffering
148정성태11/25/20086333.NET : 31. ThreadPool.UnsafeQueueNativeOverlapped [1]
147정성태11/21/20085669.NET 3.5 : 6. ProcessGeneratedCode
146정성태10/29/20085535레지스트리 : 9. How to detect what .NET Framework X service pack is installed
145정성태5/6/20085615.NET : 30. XML Serializable Dictionary
1  [2]  3  4  5  6  7  8