![]() |
|
|
| 株式会社ウィル | ||
|
|
||
| HOME | 新着情報 | 製品一覧 | 受託開発 | Download | 購入方法 | トライアル | サポート | 会社案内 |
|
FINGERクライアントサンプル FINGER Ver1.00 |
||||
|
|
||||
|
FINGERはRFC742で規定されたプロトコルを用いてFINGERサーバーと通 信を行うことにより、ユーザーー情報を表示します。
FINGERは、ポート79で受信しているFINGERサーバーに接続し、ユーザー名にCRLFを付加して送信します。
FINGERサーバーがユーザー名に対する情報を送信してきますので、FINGERは、受信したデータを画面 に表示します。
FINGERサーバーはすべてのデータを送信すると、通信を切断しますので、
FINGERは、相手が切断したことを検知して、通信を閉じます。
|
▲TOPへ |
FINGERプログラムは下記の手順で通信を行います。
- コマンドボタンが押されたときConnect メソッドを用いて通信を開始します。
- Connectedイベントでユーザー名を送信します。
- 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. |