掲示板システム
ホーム
アクセス解析
カテゴリ
ログアウト
VB クライアント から Linux サーバー への telnet ログインするには? (ID:89969)
名前
ホームページ(ブログ、Twitterなど)のURL (省略可)
本文
長くなってしまいましたので、 ソースを別途後追いにて、提示させていただきます。 ↓↓↓↓ ソース1 ↓↓↓↓ Option Explicit Private mStrCmd As String '** 受信データバッファ Private mIntErrorNumber As Integer '** エラー番号 Private mStrErrorDescription As String '** エラー内容 Private mIntErrorStatus As Integer '** エラーステータス Private mStrLog As String '** ログ文字列 Private Declare Sub Sleep Lib "kernel32" ( _ ByVal dwMilliseconds As Long) '*********************************************************** '** 「収集装置 時計調整」ボタン押下時処理 '*********************************************************** Private Sub BtnConnect_Click() Dim strRet As String '** リターン値 '** カーソルを砂時計にする Screen.MousePointer = vbHourglass '** メニューフォームを待機状態にする Me.Enabled = False '** 収集装置に TCP 接続する Call Me.Connect("192.168.1.53", 23, strRet) '** カーソルを矢印にする Screen.MousePointer = vbDefault '** メニューフォームを通常状態にする Me.Enabled = True End Sub '*********************************************************** '** TCP 接続 用 '*********************************************************** Public Sub Connect(ByVal strServerName As String, _ ByVal intServerPort As Integer, _ ByRef strRetCode As String) On Error GoTo ErrorHandler: With Me.tcpClient '** 2重接続を防止する If .State = sckConnecting Or .State = sckConnected Then Exit Sub .LocalPort = 0 .RemoteHost = strServerName .RemotePort = intServerPort .Connect End With Exit Sub ErrorHandler: Call ErrorReport(ERROR_TRAPPED, Err.Number, Err.Description) End Sub '*********************************************************** '** TCP 接続切断 用 '*********************************************************** Public Sub Disconnect() On Error GoTo ErrorHandler: With Me.tcpClient '** 2重切断を防止する If .State = sckClosed Then Exit Sub .Close Do DoEvents If mIntErrorStatus Then Exit Sub Loop Until .State = sckClosed End With Exit Sub ErrorHandler: Call ErrorReport(ERROR_TRAPPED, Err.Number, Err.Description) End Sub '*********************************************************** '** エラー設定 用 '*********************************************************** Private Sub ErrorReport(ByVal intStatus As Integer, _ ByVal intNumber As Integer, _ ByVal strDescription As String) mIntErrorStatus = intStatus mIntErrorNumber = intNumber mStrErrorDescription = strDescription mStrLog = mStrLog & "? " _ & intNumber & " " _ & strDescription _ & vbCrLf End Sub '*********************************************************** '** エラー初期化 用 '*********************************************************** Private Sub ErrorReset() mIntErrorStatus = ERROR_NOT_DETECTED mIntErrorNumber = 0 mStrErrorDescription = "" End Sub '*********************************************************** '** エラーステータス取得 用 '*********************************************************** Public Property Get ErrorStatus() As Integer ErrorStatus = mIntErrorStatus End Property '*********************************************************** '** エラー番号取得 用 '*********************************************************** Public Property Get ErrorNumber() As Integer ErrorNumber = mIntErrorNumber End Property '*********************************************************** '** エラー内容取得 用 '*********************************************************** Public Property Get ErrorDescription() As String ErrorDescription = mStrErrorDescription End Property '*********************************************************** '** ログ文字列取得 用 '*********************************************************** Public Property Get Log() As String Log = mStrLog End Property '*********************************************************** '** ログ文字列初期化 用 '*********************************************************** Private Sub LogClear() mStrLog = "" End Sub '*********************************************************** '** TCP 通信 接続完了 用 '*********************************************************** Private Sub tcpClient_Connect() Const ERROR_NUM As Long = 9000 Dim strRes As String Dim strRetCode As String Call LogClear Call ErrorReset mBlnConnected = True '** Telnet ネゴシエーション 開始 Call TelnetNego End Sub '*********************************************************** '** TCP 通信 データ受信開始 用 '*********************************************************** Private Sub tcpClient_DataArrival(ByVal bytesTotal As Long) 'イベント***サーバーからデータが送られてきた時に実行される Dim bytData() As Byte Dim strData As String '** 受信データの受け取り '** および 対応したデータの送信 Call TelnetRecvData End Sub
←解決時は質問者本人がここをチェックしてください。
戻る
掲示板システム
Copyright 2020 Takeshi Okamoto All Rights Reserved.