作者SixM (只有流星没有雨)
看板Visual_Basic
标题[VB6 ] 请问Winsock连线的问题
时间Fri Aug 29 11:13:40 2008
小弟想要透过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
1F:推 MrOrz:没有作用?1.有没有错误讯息? 2.没作用时winsock的state是? 08/29 12:25
2F:→ MrOrz:如果是winsock没有完全关闭之类的,应该有错误讯息才是@@ 08/29 12:26
3F:→ SixM:举例来说,按下button去连线然後button.caption="stop", 08/29 12:32
4F:→ SixM:此时再去按button,button完全没有反应,不会从stop变成start 08/29 12:32
5F:→ SixM:此时也没有错误讯息,一直按button都停留在stop 08/29 12:33
6F:→ SixM:我的button按一次是送winsock.connect or winsock.listen 08/29 12:33
7F:→ SixM:再按一下送winsock.close 08/29 12:34
8F:→ SixM:我设断点去跑,然後按F8,一步步trace,有时候都能正常的 08/29 12:34
9F:→ SixM:start跟stop,但是如果不设断点,直接去run,就会停在stop不 08/29 12:35
10F:→ SixM:动。此时有观察到winsock.state=9。但不知道为什麽 08/29 12:35
11F:推 MrOrz:在connect和listen之前,有没有确认该winsck的state是closed 08/30 01:38
12F:→ MrOrz:试试在这两个动作之前加上do until winsck.state=sckclosed 08/30 01:39
13F:→ MrOrz:吧~@@ 08/30 01:40