'着要看具体问题的,下面只是一个简单的例子 我也没调试过 Private m_strBuff() As String '发送数据的缓冲区 Private m_CurBuffIndex As Integer '当前发送第几个数据Private Sub Command1_Click() '假设所有要发送的数据都存在m_strBuff数组里面了 m_CurBuffIndex = 0 '先发送第一个 Winsock1.SendData m_strBuff(m_CurBuffIndex) End SubPrivate Sub Winsock1_SendComplete() '发送完毕 接着发 m_CurBuffIndex = m_CurBuffIndex + 1 If m_CurBuffIndex <= UBound(m_strBuff) Then Winsock1.SendData m_strBuff(m_CurBuffIndex) Else 'm_strBuff数组的数据全部发送完毕 '初始化m_CurBuffIndex m_strBuff m_CurBuffIndex = 0 ReDim m_strBuff(0) End If End Sub
最好在SendComplete事件触发后再发送第2个数据
Private m_strBuff() As String '发送数据的缓冲区
Private m_CurBuffIndex As Integer '当前发送第几个数据Private Sub Command1_Click()
'假设所有要发送的数据都存在m_strBuff数组里面了
m_CurBuffIndex = 0 '先发送第一个
Winsock1.SendData m_strBuff(m_CurBuffIndex)
End SubPrivate Sub Winsock1_SendComplete()
'发送完毕 接着发
m_CurBuffIndex = m_CurBuffIndex + 1
If m_CurBuffIndex <= UBound(m_strBuff) Then
Winsock1.SendData m_strBuff(m_CurBuffIndex)
Else
'm_strBuff数组的数据全部发送完毕
'初始化m_CurBuffIndex m_strBuff
m_CurBuffIndex = 0
ReDim m_strBuff(0)
End If
End Sub
帮我看看这个问题
我试了用数组的方式来进行连续的sendData,但是这个连续的过程也只限于winsock发生close的事件以前
是不是winsock.DataArival以后就会发生winsock_close的?
那这样的话,就不能以一个session值连续访问一个网站的不同页面了?
方法是:首先发送,发送完了以后,如果winsock.dataarrival处理以后再下次发送,如果winsock.dataarrival没有处理完毕,则让循环发送的发宋处等待.
其它第三方控制提供一个类似的would block信息用于send data前同步.