ネットワーク VB6 | |
コンピュータを個人で使用する以外の場合、例えば、会社や学校などで複数のコンピュータがある場合、ネットワークに接続して使用するのが一般的になってきている。
例えば、少し大きな会社で2階が実際にお金の入出金をする会計係、3階が給与などを処理する庶務係、4階が商品の売買を行う営業係とする。各係のコンピュータがネットワークで接続されていないと、毎月の社員の給与計算をして結果を2階へ持っていく、営業係で購入した商品に関する一覧を2階へ持っていき出金してもらう、ということになる。ネットワークにつながっていれば(相応のソフトウェアが必要だが)、席に座ったまま会計係へ処理依頼ができる。どちらが便利か明らかであろう。
このように会社内だけや学校内だけのように限られた範囲のネットワークをLAN(Local Area Network)という。このような世界中のLAN同士が電話回線や専用の通信回線で接続されたネットワークがインターネットである。
通信規約
コンピュータ同士でデータの送受信をするとき、勝手にデータを送り先のコンピュータに送っても受け取ってはもらえない。糸電話のように、お互いが同時に話しても聞こえないのと同じである。
一方が話し終えたら「どうぞ」というような言葉で、お互いが交互に話をするという手順(規約、ルール)を決めなければ糸電話は機能しない。これと同じように、コンピュータ同士の間にも通信をするための手順が必要になる。これを通信規約(プロトコル)という。
インターネットの世界で使われているプロトコルはTCP/IP(Transmission Control Protocol/Internet Protocol)である。これは、送りたいデータをすべて一度に送るのではなく、小さなパケットにして少しずつ送ることができる。大きなデータを一度に送っている途中でエラーが発生すると最初から送りなおす必要がある。少しずつ送った場合はエラーの発生したパケットだけを送りなおせばいいので効率がよい。
IPアドレス
TCP/IPを使って通信する場合は、通信相手(データの送り先)を特定するためにIPアドレスが必要になる。IPアドレスは、32ビットで表される。32ビットでは長いので、8ビットずつドット(.)で区切って、さらに0〜255の10進数で表している。例えば、192.168.1.0のようにである。コンピュータの住所や電話番号に相当するもので、世界で唯一のものである。
インターネットではホームページを閲覧するためにwww.kaisya.co.jpのようなアドレス(URL)を入力するが、ホスト名をIPアドレスに変換するDNSによって、実際にはIPアドレスが使われているのである。
www.kaisya.co.jp → [[ DNS ]] → 201.1.2.34
IPアドレスは、世界で唯一の番号であるが、外部(インターネット)に接続しないLANでTCP/IPを使用する場合、次のプライベートアドレスを使用する。
外部に接続しない閉じられたネットワーク以外に、ファイアウォールで守られたネットワークも含む。また、これらプライベートアドレスを使用したネットワークもNATやIPマスカレード等の技術によってインターネットに接続することができる。 |
VisualBasicでの通信
Windowsでは、ネットワーク上のコンピュータを識別するために基本的にコンピュータ名を使用する。コンピュータ名はネットワーク上で唯一のものでなければならない。コンピュータ名はコントロールパネルのネットワークで設定する。Windowsがインストール済みのパソコンでは既に設定されている。
VisualBasicでネットワークを使用したプログラムを作成するとき、非標準のWinsockというコントロールが便利である。このコントロールは標準では使えないので、次のようにして設定しなければならない。
非標準コントロールの追加
コンピュータ名の表示
コンピュータ名コントロールパネルからでも知ることができるが、ここではコンピュータ名をプログラムで表示させる。また、IPアドレス(設定されていれ)も表示する。
フォームの準備
新規フォームを用意し、プロパティを次のように設定する。
Caption … コンピュータ名、 Height … 2000、 Width … 4800
フォームに次のようなコントロールを配置する。
ラベル(Label1)
Caption … ホスト名、 Left … 120、 Top … 120、 AutoSize … True
ラベル(Label2)
Caption … IPアドレス、 Left … 600、 Top … 120、 AutoSize … True
AutoSizeプロパティはサイズを表示内容(Captionプロパティに設定された文字列データ)の大きさに合わせて自動的に変更するかどうかを設定するものである。Ture=サイズを自動的に変更する、False=サイズを自動的に変更しない。
テキストボックス(Text1)
Text … なし、 Height … 270、 Left … 1080、 Top … 120、 Width … 3015
テキストボックス(Text2)
Text … なし、 Height … 270、 Left … 1080、 Top … 600、 Width … 3015
コマンドボタン(Command1)
Caption … 終 了、 Height … 375、 Left … 3360、 Top … 1080、 Width … 975
Winsock(Winsock1)
実行時には表示されないので適当な位置に配置する。大きさは固定である(サイズ変更できない)。
Winsockコントロールで通信を行うときに使用できる通信プロトコルには、TCP/IPとUDP (User Datagram Protocol)がある。どちらを選ぶかはProtocolプロパティで設定する。TCP/IPのときはsckTCPProtocol、UDPのときはsckUDPProtocolを設定する。最初(初期値、デフォルト)は、sckTCPProtocolが設定されているので、ここではそのまま使う。UDPについてはヘルプ(Winsock コントロールの使い方)を参照のこと。
・プログラムリスト
Private Sub Command1_Click() Unload Me End End Sub Private Sub Form_Load() Text1.Text = Winsock1.LocalHostName 'コンピュータ名(ホスト名) Text2.Text = Winsock1.LocalIP 'IPアドレス End Sub
コンピュータ名(ホスト名)はWinsock1オブジェクトのLocalHostNameプロパティで、IPアドレスはLocalIPプロパティで参照することができる。実行するとコンピュータ名が表示される。IPアドレスは設定されているときだけ表示される。
ネットワーク通信のプログラムでは、このコンピュータ名を使用してコンピュータ同士を接続することになる。(違うこともある。以下参照。)
以下の説明は、ネットワーク(LAN)接続に必要な「コンピュータ名」や「IPアドレス」の設定についてである。既に、ネットワークに接続されており、「コンピュータ名」や「IPアドレス」などが設定されている場合は、設定を絶対に変更しないこと。変更するとネットワークに接続できなくなる可能性がある。
コンピュータ名の設定・参照
[スタート]メニューから[設定] → [コントロールパネル(C)]の順に選択するとコントロールパネルが表示される。その中からネットワークをダブルクリックで起動する。ネットワークのダイアログで[識別情報]タブをクリックすると次図のように表示される。
ここのコンピュータ名(図の場合、Computer01)がネットワーク上での識別に使用される。
IPアドレス等が設定されている場合
次図のように[ネットワークの設定]でTCP/IPのプロトコルが設定されているとき、TCP/IPをクリックしてそのしたにあるプロパティのボタン(図では隠れている)をクリックする、または、TCP/IPをダブルクリックするとTCP/IPのプロパティのダイアログが表示され、IPアドレスが確認できる。(変更しないように!!)
このように設定されていれば、ネットワーク上での識別にコンピュータ名(Computer01)以外にIPアドレス(192.168.0.1)が使用できる。
さらに、[DNS設定]タブで図のように設定されている場合は、コンピュータ名(Computer01)ではなくホスト名(Eigyou)を識別に使用する(DNSが設定されているとき、コンピュータ名で接続しようとすると接続できたりできなかったりする)。また、ドメインもあわせて Eigyou.Kaisya.co.jp の形でも使用できる。
Copyright © 2001 Hiroshi Masuda |