大家好,请教大家一个问题,我这程序放在定时器里面(100ms或1000ms响应一次),经常发不出去,调试状态下查看winsock1.state的值经常是6(连接中),如果程序放在Botton事件中就可以,查不出原因,所以请教大家With Winsock1
If .State <> sckClosed Then
.Close
End If
.RemoteHost = "192.168.0.1"
.RemotePort = "33822"
.Connect
DoEvents
If .State <> sckConnected Then
Exit Sub
End If
End With
DoEvents
'发送数据
If Winsock1.State = sckConnected Then
Winsock1.SendData str
End If
If .State <> sckClosed Then
.Close
End If
.RemoteHost = "192.168.0.1"
.RemotePort = "33822"
.Connect
DoEvents
If .State <> sckConnected Then
Exit Sub
End If
End With
DoEvents
'发送数据
If Winsock1.State = sckConnected Then
Winsock1.SendData str
End If
解决方案 »
- 求喷码机电脑通讯的例子
- 自定义按钮类,用CREATEWINDOWEX创建button,如何在自定义类中处理子类事件?
- 一个FTP上传文件的问题
- 不用msflexgird.sort怎么实现排序功能
- 如何将一个长度超过8的16进制数转化成10进制?
- 天哪,我实在找不到错在哪里呀(关于 update 语句的)
- VB+SQL 在苏州能拿多少money?
- 请各位高手指点如何写库存管理程序?
- 我想知道系统里有没有设置屏保。该怎样做?在线等。
- CrystalReport 的SQLQuery 是否不能使用"("
- 求高手解答“系统错误&h80004005(-2147467259).未指定的错误”
- 串口接收指令,点击按钮
If .State <> sckClosed Then
.Close
End If
.RemoteHost = "192.168.0.1"
.RemotePort = "33822"
.Connect
DoEvents
If .State <> sckConnected Then
Exit Sub
End If
End With
DoEvents可以在定时器里定时发送数据。增加“心跳”检测。
握手一次就可以了啊。定时器只做DOEVENTS的事就可以了。