■ その他
一 覧 / □ □
【 VNCによるリモート接続について 】 

①A-PCからB-PCに対して、リモート接続をする場合、
 B-PCのアドレスが特定できなければならない。
②しかし、B-PCがローカルネットワークの中にあり、
 ルーティング設定ができない場合は外部からの接続はできない。
③ただし、A-PCが接続されるB-PCから参照できる場合、
 B-PCから、A-PCに対して接続依頼をする事で、
 A-PCからB-PCをリモートコントロールすることが可能になる。

VNCの場合、UltraVNC ビューアを待ち受けモードで起動することができる。
(vncviewer.exe -listen)

これに対しB-PCから接続を要求すると
(winvnc.exe -connect abc.com:5800)

A-PCからVNCリモートコントロールが可能になる。

つまり、B-PCから何かのトリガーにより接続依頼ができれば、
A-PCからの任意の接続が可能になる。

そこで、
B-PCからあるHPサイトの定期監視を行い、
そこのステータスがONになった場合に、
A-PCに対して接続依頼を行う仕組みを考える。


"######################################################################
"#
"# ホームページデータを取得し、VNC接続依頼を行う
"#
"######################################################################

"オブジェクト変数に参照
Set oHttp = CreateObject(""MSXML2.XMLHTTP"")
If oHttp Is Nothing Then
MsgBox ""XMLHTTP オブジェクトを作成できませんでした。"", vbCritical
End If

"URLを開く
oHttp.Open ""GET"",""http://abc.com/vncchk.txt"",False
oHttp.Send

"HTML ソースを取得
strRetVal = oHttp.responseText

"HTML ソース検査
If strRetVal = ""OK"" Then
"VNCバッチを起動
Set ws = CreateObject(""Wscript.Shell"")
" ws.run """"""C:\Program Files\UltraVNC\winvnc.exe -connect abc.com:5800""""""
End If

"オブジェクト変数の参照を解放
Set oHttp = Nothing

"######################################################################

資 料