【】Top
【】VB.NET
【】VB6.0
【】メールマガジンの購読
【】メールマガジンの解除
【】会社概要
【】お問い合わせ
姉妹サイト「バーチャルコネクション!」はこちらです。
姉妹サイト「七福神のメールでビンゴ!」はこちらです。
●24時間365日の安心をあなたにAT-LINK専用サーバ・サービスお勧めのサーバです。
|
|
|
|
|
FTPサーバーへ接続する
|
|
【注意書き】 ●VB.NET を使っているものとします。 ●動作環境は、Windows XX を使用しているとします。
.NET でも、FTPサーバーへ接続することが可能です。
この機能を使えば、簡単に、アプリケーション側で FTP接続で、データのやりとりを行いたい場合などに活用できます。
フォームに次の様なコードを記述します
-----------VB.NETコーディングここから-------------------
1.フォームに、ラベルコントロール 、テキストボックスコントロール 、ボタンコントロール を配置します。 下記は、デフォルトのオブジェクトの名前と配置を示しています。
┏━━━━━━━━┓┏━━━━━━━━━━━━━━━━┓ ┃Label1 ┃┃TextBox1 ┃ ┗━━━━━━━━┛┗━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━┓┏━━━━━━━━━━━━━━━━┓ ┃Label2 ┃┃TextBox2 ┃ ┗━━━━━━━━┛┗━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━┓┏━━━━━━━━━━━━━━━━┓ ┃Label3 ┃┃TextBox3 ┃ ┗━━━━━━━━┛┗━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━┓┏━━━━━━━━━━━━━━━━┓ ┃Label4 ┃┃TextBox4 ┃ ┗━━━━━━━━┛┗━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━┓┏━━━━━━━━┓ ┃Button1 ┃┃Button2 ┃ ┗━━━━━━━━┛┗━━━━━━━━┛ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃TextBox5 ┃ ┃※複数行 ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛
2.テキストボックスコントロール TextBox5は、 複数行の入力とするため、 Multiline プロパティを True にします。(複数行) ScrollBars プロパティを Vertical にします。 (スクロールバー)
3.ボタンコントロールの Button1 text プロパティに「接続」と記述します。 Button2 text プロパティに「切断」と記述します。 ラベルコントロールの Label1 text プロパティに「ホスト名」と記述します。 Label2 text プロパティに「ポート番号」と記述します。 Label3 text プロパティに「ユーザー」と記述します。 Label4 text プロパティに「パスワード」と記述します。
※説明用のためです。必須ではありません。
┏━━━━━━━━┓┏━━━━━━━━━━━━━━━━┓ ┃ホスト名 ┃┃TextBox1 ┃ ┗━━━━━━━━┛┗━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━┓┏━━━━━━━━━━━━━━━━┓ ┃ポート番号 ┃┃TextBox2 ┃ ┗━━━━━━━━┛┗━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━┓┏━━━━━━━━━━━━━━━━┓ ┃ユーザー ┃┃TextBox3 ┃ ┗━━━━━━━━┛┗━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━┓┏━━━━━━━━━━━━━━━━┓ ┃パスワード ┃┃TextBox4 ┃ ┗━━━━━━━━┛┗━━━━━━━━━━━━━━━━┛ ┏━━━━━━━━┓┏━━━━━━━━┓ ┃ 接続 ┃┃ 切断 ┃ ┗━━━━━━━━┛┗━━━━━━━━┛ ┏━━━━━━━━━━━━━━━━━━━━━━━━━━┓ ┃TextBox5 ┃ ┃※複数行 ┃ ┃ ┃ ┗━━━━━━━━━━━━━━━━━━━━━━━━━━┛
4.ボタンコントロールをダブルクリックして、 ボタンのクリックイベントの編集を開始して、 フォームの宣言部に、次のコードを記述します。
Imports System.Net Imports System.Text
さらに、次のコードを記述します。
Dim mjsoc As Sockets.Socket Dim mjip As IPAddress Dim mjipe As IPEndPoint
Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click
Dim strSev As String 'ホスト名 Dim strSevp As String 'ポート
Dim strUser As String 'ユーザー Dim strPass As String 'パスワード
strSev = TextBox1.Text strSevp = TextBox2.Text strUser = TextBox3.Text strPass = TextBox4.Text
mjsoc = New Sockets.Socket( _ Net.Sockets.AddressFamily.InterNetwork, _ Net.Sockets.SocketType.Stream, _ Net.Sockets.ProtocolType.Tcp)
Try mjip = Dns.Resolve(strSev).AddressList(0) mjipe = New IPEndPoint(mjip, strSevp)
mjsoc.Connect(mjipe) Call SED_DATA(mjsoc, "") Call SED_DATA(mjsoc, "USER " & strUser) Call SED_DATA(mjsoc, "PASS " & strPass)
Catch ex As Exception TextBox5.AppendText(ex.Message) End Try
End Sub
Sub SED_DATA(ByVal soc As Sockets.Socket, _ ByVal strData As String)
Dim strD As String Dim strDB() As String
Dim intRet As Integer Dim bytRetBuf(1024) As Byte Dim bytWBuf() As Byte
If strData <> "" Then bytWBuf = Encoding.ASCII.GetBytes( _ strData & vbCrLf) soc.Send(bytWBuf) TextBox5.AppendText(strData & vbCrLf)
Do If soc.Available = 0 Then Exit Do bytRetBuf.Initialize() intRet = soc.Receive(bytRetBuf) strD = strD & Encoding.ASCII.GetString( _ bytRetBuf, 0, intRet)
Loop TextBox5.AppendText(strD)
End If
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles MyBase.Load TextBox1.Text = "" TextBox2.Text = "21" TextBox3.Text = "" TextBox4.Text = "" TextBox4.PasswordChar = "*" TextBox5.Text = ""
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button2.Click
Try Call SED_DATA(mjsoc, "QUIT ")
mjsoc.Shutdown(Sockets.SocketShutdown.Both) mjsoc.Close()
Catch ex As Exception TextBox5.AppendText(ex.Message)
End Try
End Sub
5.ビルドして実行します。
6.ホスト名に、FTPサーバー名を入力します。 例) localhost.com
7.ポート番号に、ポート番号を入力します。 例)21
8.ユーザーに、FTPログオンユーザー名を入力します。 例)loginuser
9.パスワードに、FTPログオンパスワードを入力します。 例)loginpass
10.フォームに表示された「接続」ボタンを押します。
11.FTPサーバーへの接続動作が行われたことを確認できます。
-----------VB.NETコーディングここまで-------------------
本サンプルでは、ファイルのアップロード、ダウンロードの機能は 実装していません。
パスワードの入力は、"*"で伏せるようにしております。
本サンプルの 例) の入力値は、あくまで例題であり、 接続が行えるものではありませんでの、 接続が可能な サーバー に書き換えてご使用ください。
|
http://anetm.com/dev/d.cgi?SC=DTDTL&o=l3/
Copyright(c)2001-2004 Ai Net Makoto 記事・情報の無断転載を禁止します。
|
|
|
|
|
|
|