再多开一个?我现在已经开有一个winsock数组了.然后在Timer控件里加了下面的for循环语句!但是这样子发送数据的话每个IP同时只能接收到一个命令,并不是我要求的按照IP顺序使命令一个个的发送! For i = 0 To rs.RecordCount - 1 Set ds = New ADODB.Recordset S.Open "select * from ModeSetup where InterIP='" & Winsock1(i).RemoteHost & "'and WlanName='" & Label1.Caption & "' and SetName='" & a(i) & "' order by InterIP ", cnn, 1, 3 If Winsock1(i).State = 7 Then DSSendDataType = ds.Fields!OpenCode Dim byteArray() As Byte strSend = Split(Trim(DSSendDataType)) intCount = UBound(strSend) - LBound(strSend) + 1 ReDim byteArray(0 To intCount - 1) For j = 0 To intCount - 1 byteArray(j) = CByte(Val("&H" + strSend(j))) And &HFF Next j byteSend = byteArray Winsock1(i).SendData byteSend End If If i = rs.RecordCount - 1 Then Timer3.Enabled = False End If Next i
For i = 0 To rs.RecordCount - 1
Set ds = New ADODB.Recordset
S.Open "select * from ModeSetup where InterIP='" & Winsock1(i).RemoteHost & "'and WlanName='" & Label1.Caption & "' and SetName='" & a(i) & "' order by InterIP ", cnn, 1, 3
If Winsock1(i).State = 7 Then
DSSendDataType = ds.Fields!OpenCode
Dim byteArray() As Byte strSend = Split(Trim(DSSendDataType))
intCount = UBound(strSend) - LBound(strSend) + 1
ReDim byteArray(0 To intCount - 1)
For j = 0 To intCount - 1
byteArray(j) = CByte(Val("&H" + strSend(j))) And &HFF
Next j
byteSend = byteArray
Winsock1(i).SendData byteSend
End If
If i = rs.RecordCount - 1 Then
Timer3.Enabled = False
End If
Next i