指定したIPに起動制限をする方法を教えてください。
コードだけでできなければ必要なアイテム等教えてください。
特定のIPアドレスを持つPCからのみ起動可能としたい,ということでしょうか。
つまりは,起動したタイミングでのIPアドレスを取得したい,という風に読み替えます。
# IPアドレスが取得できれば,あとは起動可能リストと比較するだけなので。
自身のNICに割り振られているIPアドレスであれば,
System.Net.NetworkInformation.NetworkInterface.GetAllNetworkInterfaces()
でSystem.Net.NetworkInformation.NetworkInterfaceの一覧を取得し,
それぞれのオブジェクトのGetIPProperties()を呼び出してSystem.Net.NetworkInformation.IPInterfacePropertiesを取得し,
さらにUnicastAddressプロパティからSystem.Net.NetworkInformation.UnicastIPAddressInformationを取得することで,PCに割り振られているIPアドレスを取得できます。
Imports System.Net
Imports System.Net.NetworkInformation
' 以下,メソッド等の中に記述
For Each nic As NetworkInterface In NetworkInterface.GetAllNetworkInterfaces()
If nic.OperationalStatus <> OperationalStatus.Up Then Continue ' 有効になっていないインターフェースは排除する
For Each addr As UnicastIPAddressInformation In nic.GetIPProperties().UnicastAddresses
Dim ip As IPAddress = addr.Address
' ここでIP Addressを比較する。
Next
Next
グローバルアドレスを,となると面倒になるので,C#での記事になりますが,
UPnPを使ってルータからグローバルIPアドレスを取得する方法 (C#) : たき備忘録
http://rrvf.blogspot.jp/2012/10/upnpip-c.html
などを参照されるのが簡単かと思います。
ツイート | ![]() |