[VB6 ] 請問Winsock連線的問題

看板Visual_Basic作者 (只有流星沒有雨)時間17年前 (2008/08/29 11:13), 編輯推噓2(2011)
留言13則, 2人參與, 最新討論串1/1
小弟想要透過Winsock來做TCP的連線 server端跟client端基本上的架構已經完成 但是在error handling上一直有問題 主要的問題點在於如何去disconnect連線 不管是在server端或是client端,小弟都有設置一個button去開始及中斷連線 但是這個button按了一次或是幾次,就死掉了 我面臨的情況有以下幾種 1.server及client已建立連線,由server端或client端中止連線 2.當server處於listening,client尚未提出connect,server端去中止listen 3.connecting時,由server端或client端去中斷連線 以上的連線請求或是中斷請求,都是透過一個button來執行 按一下為連線,再按一下為中斷 但是按了一次或是幾次之後,該button就沒有作用了 請問該如何去確認我的bug在哪,或是我有甚麼沒有考量到的嗎 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 222.156.254.82

08/29 12:25, , 1F
沒有作用?1.有沒有錯誤訊息? 2.沒作用時winsock的state是?
08/29 12:25, 1F

08/29 12:26, , 2F
如果是winsock沒有完全關閉之類的,應該有錯誤訊息才是@@
08/29 12:26, 2F

08/29 12:32, , 3F
舉例來說,按下button去連線然後button.caption="stop",
08/29 12:32, 3F

08/29 12:32, , 4F
此時再去按button,button完全沒有反應,不會從stop變成start
08/29 12:32, 4F

08/29 12:33, , 5F
此時也沒有錯誤訊息,一直按button都停留在stop
08/29 12:33, 5F

08/29 12:33, , 6F
我的button按一次是送winsock.connect or winsock.listen
08/29 12:33, 6F

08/29 12:34, , 7F
再按一下送winsock.close
08/29 12:34, 7F

08/29 12:34, , 8F
我設斷點去跑,然後按F8,一步步trace,有時候都能正常的
08/29 12:34, 8F

08/29 12:35, , 9F
start跟stop,但是如果不設斷點,直接去run,就會停在stop不
08/29 12:35, 9F

08/29 12:35, , 10F
動。此時有觀察到winsock.state=9。但不知道為什麼
08/29 12:35, 10F

08/30 01:38, , 11F
在connect和listen之前,有沒有確認該winsck的state是closed
08/30 01:38, 11F

08/30 01:39, , 12F
試試在這兩個動作之前加上do until winsck.state=sckclosed
08/30 01:39, 12F

08/30 01:40, , 13F
吧~@@
08/30 01:40, 13F
文章代碼(AID): #18jsbdHc (Visual_Basic)
文章代碼(AID): #18jsbdHc (Visual_Basic)