none
VB6 Winsock RRS feed

  • 問題

  • 程式執行後   winsock  元件已經把本身IP擷取

    程式中我判斷IP是不是某個值  不是的話會修改IP

    問題來了
    dim ip,p as string
    
    private sub timer1_timer()
    '假如 程式執行時IP=169.0.0.0
    timer1.enabled=false
    
    ip = Split(client.LocalIP, ".")'這裡抓到的IP 都是169.0.0.0
    
    p=ip(0) & "." & ip(1) & "."
    
    
    if p="192.168." then
    
       後續動作
    
    else
    
       修改IP '假如修改後IP=192.168.0.1
    
       timer1.interval=30000
    
       timer1.enabled=true
    
    end if
    
    end sub
    
    所讀取到的IP都是程式執行時的IP  修改過後重新判斷

    還是只有程式執行時的IP根本抓不到修改過後的IP

    有什麼辦法讓他抓到新的IP嗎
    2009年11月18日 上午 03:28

解答

  • 看不懂...
    你怎樣修改 IP ?
    IP 變了就得重新連線,重新連線就會重新取得 client 物件的資訊。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 為什麼 2009年11月19日 上午 05:48
    2009年11月18日 上午 03:47
  • http://www.wretch.cc/blog/winlin/3585475

    有跟別台重複嗎?設好有去看ipconfig /all,是否正確?有重開機嗎...
    • 已標示為解答 為什麼 2009年11月19日 上午 05:47
    2009年11月18日 上午 07:03

所有回覆

  • 看不懂...
    你怎樣修改 IP ?
    IP 變了就得重新連線,重新連線就會重新取得 client 物件的資訊。
    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    • 已標示為解答 為什麼 2009年11月19日 上午 05:48
    2009年11月18日 上午 03:47
  • 修改IP 是使用 DOS指令修改

    ipconfig /release  

    netsh interface ip set address 介面名稱 static 要改ㄉIP
    netsh interface ip set dns 介面名稱 DNS伺服器

    改了IP   client也是舊的IP
    2009年11月18日 上午 04:08
  • IP 變了就得重新連線,重新連線就會重新取得 client 物件的資訊。


    論壇是網友平等互助 保證解答請至 微軟技術支援服務
    提問時,錯誤情境描述與錯誤訊息很重要,情境描述包含你做了什麼,預期的結果與實際發生的結果。一個最爛的問法範例:「我的電腦電腦怎麼不能開機?」誰知道你家是不是沒電還是你根本找不到電源鈕。
    2009年11月18日 上午 05:49
  • If p = "192.168." Then

    '   後續動作

    Else
       Me.Winsock1.Close
    '   修改IP '假如修改後IP=192.168.0.1
       Me.Winsock1.Listen
       Timer1.Interval = 30000
       Timer1.Enabled = True

    End If

    心冷大是要您把連線關閉,改IP成功後,再連線,LocalIP就會一致了吧...
    2009年11月18日 上午 06:22
  • 還沒連線之前就先檢查IP了

    我把它IP先改成其他的  讓成是自己改IP後

    抓到的IP不是新的

    確定IP沒問題才會去連線


    我有試過  1個Text 2個按鈕  1個Winsock元件
    一開始IP=168.0.0.0
       ↓
    按鈕1  client.close
       ↓
    手動改IP=192.168.0.1
       ↓
    按鈕2  text1.text=client.LocalIP
       ↓
    一樣都是舊的IP=168.0.0.0
    2009年11月18日 上午 06:43
  • http://www.wretch.cc/blog/winlin/3585475

    有跟別台重複嗎?設好有去看ipconfig /all,是否正確?有重開機嗎...
    • 已標示為解答 為什麼 2009年11月19日 上午 05:47
    2009年11月18日 上午 07:03
  • 沒有重複     ipconfig/all  是正確的

    可以上網

    那個程式改完IP後 IP是有改成功 但是 他 Winsock元件的IP卻是舊的

    關掉重開程式 或是直接在開一次 他就會抓到新的IP
    2009年11月18日 上午 07:37
  • 更新SP6一樣嗎?那只好重新執行程式,再把自己關掉吧...
    2009年11月18日 上午 08:19
  • 怎麼看SP 幾呢
    2009年11月18日 上午 08:56
  • 說明->關於Microsoft Visual Basic->最上面顯示Microsoft Visual Basic 6.0 (SP6)
    2009年11月18日 上午 09:17
  • SP6  也是一樣

    2009年11月18日 上午 10:38
  • 改IP時Unload 主表單  呼叫另一個表單出來

    等改好再呼叫出主表單就會抓到新IP了

    感謝各位
    2009年11月19日 上午 05:47