VB6.0 WinSock通讯异常

Private Sub TimerMM_Timer()

If WinsockMM.State = 7 Then
    Dim sendStr
    sendStr = "CS" & Int((Rnd * 50 + 10))
    Call WinsockMM.SendData(sendStr)
    DoEvents
    Call WinsockMM.Close
Else
    Call WinsockMM.Connect
End If

End Sub

如上代码所示:
如果去掉DoEvents之后,一直无法成功将消息发送到TCP Server,加上DoEvents就可以。
我想实现连接、发送消息、断开在一个Timer周期内完成。请各位大佬指导,还有没有其它方式

调用DoEvents,才会触发datarecived