WILLはネットワークに関するあらゆるソリューションをご提供します。
株式会社ウィル

HOME 新着情報 製品一覧 受託開発 Download 購入方法 トライアル サポート 会社案内

FINGERクライアントサンプル FINGER Ver1.00


▼概要   ▼プログラミング概要   ▼ソースコード  プログラムのダウンロード→

概 要

FINGERはRFC742で規定されたプロトコルを用いてFINGERサーバーと通 信を行うことにより、ユーザーー情報を表示します。

FINGERは、ポート79で受信しているFINGERサーバーに接続し、ユーザー名にCRLFを付加して送信します。
FINGERサーバーがユーザー名に対する情報を送信してきますので、FINGERは、受信したデータを画面 に表示します。
FINGERサーバーはすべてのデータを送信すると、通信を切断しますので、
FINGERは、相手が切断したことを検知して、通信を閉じます。


▲TOPへ

プログラミングの概要

FINGERプログラムは下記の手順で通信を行います。

  1. コマンドボタンが押されたときConnect メソッドを用いて通信を開始します。
  2. Connectedイベントでユーザー名を送信します。
  3. Recievedイベントで受信したデータを表示します。


▲TOPへ

ソースコード

'(C)COPYRIGHT 1997 WILL
Private Sub Command1_Click()
    '検索ボタンが押された
    '2度押しされないよう、まず検索ボタンを無効にする
    Command1.Enabled = False
    'Winsockの状態によってはエラーになるかもしれないので備える
    On Error GoTo err1
    'Text1 Fingerサーバーのホスト名またはIPアドレス
    'Text2 Fingerサーバーのポート番号。普通は79。43にするとWhois検索になる
    '通信開始。最後の引数はローカルポートの自動選択指示
    Tcpip1.Connect Text1, Text2, "0"
    On Error GoTo 0
    Exit Sub
    
err1:
    'エラーの内容を表示する。numberにWinsockのエラー番号が入っている
    MsgBox Err.Description & "(" & Err.Number & ")", vbExclamation, "Connect"
    '検索ボタンを有効にする
    Command1.Enabled = True
End Sub

Private Sub Command2_Click()
    '終了ボタンが押された
    'Tcpip1がunloadされるときに必ずCloseされるのでなくても良い
  Tcpip1.Close
End End Sub Private Sub Form_Load() 'フォームがロードされた 'TCPIP.OCXの著作権表示 '画面上またはドキュメントに必ず表示してください
  Label5 = Tcpip1.copyright
End Sub Private Sub Tcpip1_Closed() 'CloseメソッドまたはClosingイベントまたはWsErrorイベントにより 'Closeした。検索ボタンを有効にする Command1.Enabled = True End Sub Private Sub Tcpip1_Connected() '接続が完了した。送信可能になった 'sendメソッドは文字変数しか受け付けない Dim d$ '受信エリアをクリア Text4 = "" 'サーバーはUNICODEを受付けないのでユーザー名をANSIに変換してから送信 d = StrConv(Text3 & vbCrLf, vbFromUnicode) Tcpip1.Send d End Sub Private Sub Tcpip1_Received(data As String) '受信した。サーバーはANSI文字列を送って来るのでUNICODEに変換する Text4 = Text4 & StrConv(data, vbUnicode) End Sub Private Sub Tcpip1_WsError(ByVal Ecode As Long, ByVal Description As String, ByVal Where As String, CancelClose As Boolean) '非同期のエラー。主にconnectに失敗したときに呼ばれる MsgBox Description & "(" & Ecode & ")", vbExclamation, "WsError" End Sub Private Sub Text1_GotFocus() Text1.SelStart = 0 Text1.SelLength = Len(Text1) End Sub Private Sub Text2_GotFocus() Text2.SelStart = 0 Text2.SelLength = Len(Text2) End Sub Private Sub Text3_GotFocus() Text3.SelStart = 0 Text3.SelLength = Len(Text3) End Sub

(C) Copyright 2003 WILL Corporation. All rights reserved.