none
如何將連線指定IP改為手動輸入 RRS feed

  • 問題

  • 我原本使用的程式是這樣的
    Dim server As String = "10.0.0.3"

    Dim port As Int32 = 23

    Dim client As New TcpClient(server, port)

    之後我想改為用TextBox說入IP卻不行
    Dim server As String = Len(TextBox1.text)

    顯示錯誤:連線嘗試失敗,因為連線對象有一段時間並未正確回應,或是連線建立失敗,因為連線的主機無法回應。

    我在TextBox有輸入10.0.0.3
    請問我該怎麼設定才對呢
    2006年12月6日 上午 06:15

解答

  • 這邊只有改成去空白而已,看起來是不可能有錯,還是您的程式碼沒有事件去觸發(像是可以寫在Button的Click事件中)?您再試看看囉。     

       If My.Computer.Network.Ping(Trim(TextBox1.Text)) = True Then
              
    Dim server As String = Trim(TextBox1.Text)

              Dim port As Int32 = 23

              Dim client As New Net.Sockets.TcpClient(server, port)

                .............

            End If

    2006年12月7日 上午 12:03
    版主

所有回覆

  • Len這個方法是求字串長度,您可能用錯方法了。

    去除空白請用Trim。

    2006年12月6日 上午 06:23
    版主
  •  LOLOTA 寫信:

    Len這個方法是求字串長度,您可能用錯方法了。

    去除空白請用Trim。



    我改為Trim之後,TextBox輸入IP沒作用耶
    2006年12月6日 下午 05:42
  • 這邊只有改成去空白而已,看起來是不可能有錯,還是您的程式碼沒有事件去觸發(像是可以寫在Button的Click事件中)?您再試看看囉。     

       If My.Computer.Network.Ping(Trim(TextBox1.Text)) = True Then
              
    Dim server As String = Trim(TextBox1.Text)

              Dim port As Int32 = 23

              Dim client As New Net.Sockets.TcpClient(server, port)

                .............

            End If

    2006年12月7日 上午 12:03
    版主
  • 亂講,不要誤導人家.

    Server定義的是字符型,len出來的是數字型,建議改成:

    Dim server As String = Len(trim(TextBox1.text)).tostring

    應該可以!

    2006年12月8日 上午 06:18
  • LOLOTA 沒說錯啊~

    Len 是字串長度耶~ 現在要的是遠端 ip 字串,幹麻要用到 Len ?若是 TextBox 裡面沒有多餘的空白,連 Trim 也可以省了

    2006年12月8日 上午 07:35
    版主
  •  lee4174 寫信:

    亂講,不要誤導人家.

    Server定義的是字符型,len出來的是數字型,建議改成:

    Dim server As String = Len(trim(TextBox1.text)).tostring

    應該可以!

     看來要組一個真相調查委員會來證明我的清白了。

    2006年12月8日 上午 08:27
    版主
  • 我使用lee4714大大的方法:

    Dim server As String = Len(trim(TextBox1.text)).tostring

    顯示出:通訊端操作無法連線到主機。

    使用LOLOTA大大的方法,可以成功。

     

    雖然lee4714大大的方法不能成功,不過還是謝謝你肯指導我,謝謝!!

    2006年12月8日 上午 11:30
  • 既然寫.net的程式,為何要用vb6的function呢

    我的建議改這樣...

       If My.Computer.Network.Ping(TextBox1.Text.Trim) = True Then
              
    Dim server As String = TextBox1.Text.Trim

              Dim port As Int32 = 23

              Dim client As New Net.Sockets.TcpClient(server, port)

                .............

            End If

    2006年12月9日 上午 01:15
  • 這是屬於 VisualBasic 命名空間,只是並非純 .Net 的類別而已,不能說這是 VB6 的語法。

    比如說 Split, Replace 在 VisualBasic 跟 String 下的方法有不同的表現,是好是壞不能一概而論。

    2006年12月9日 上午 01:37
    版主