vb socket 连接问题

bsetsail 2011-04-12 09:57:49
对VB不是很熟悉,在进行socket的使用的时候,发现为什么在debug状态下就能连接,直接运行就连接不上呢?
...全文
101 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
bsetsail 2011-04-12
  • 打赏
  • 举报
回复
了解了
这些代码在同一函数里,在这个函数结束(end function)之前,sckClient.State 是不会更新的。
倒大霉的上帝 2011-04-12
  • 打赏
  • 举报
回复
sckClient.Close
sckClient.RemotePort = 5000
sckClient.RemoteHost = "127.0.0.1"
sckClient.Connect

'Sleep(5000)
debug.Print sckClient.State
If sckClient.State <> 7 Then
MsgBox "服务器连接失败1"
Exit Function
End If

这些代码在同一函数里,在这个函数结束(end function)之前,sckClient.State 是不会更新的。
你可以把
If sckClient.State <> 7 Then
MsgBox "服务器连接失败1"
Exit Function
End If
放在一个按钮事件里测试。或者改成:
do while sckclient.state<>7
doevents
if( sckclient.state==7)
exit do
end if
wend


  • 打赏
  • 举报
回复
我的一般都是用定时器
  • 打赏
  • 举报
回复
sleep是挂起,换个其他延时函数试试。
bsetsail 2011-04-12
  • 打赏
  • 举报
回复
sckClient.Close
sckClient.RemotePort = 5000
sckClient.RemoteHost = "127.0.0.1"
sckClient.Connect

'Sleep(5000)
debug.Print sckClient.State
If sckClient.State <> 7 Then
MsgBox "服务器连接失败1"
Exit Function
End If


debug的时候sckClient.State =7 运行的时候 sckClient.State =6
加上了Sleep(5000)也是一样
我就是想测试怎么才能算连接上了服务器
  • 打赏
  • 举报
回复
debug能用直接运行不能用,区别就是时间差。可往这个方面考虑
倒大霉的上帝 2011-04-12
  • 打赏
  • 举报
回复
无代码无真相

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧