Private Sub WinsockClient_DataArrival(ByVal bytesTotal As Long)
Dim CH() As Byte
Dim Test() As Integer
Dim I As Integer
Static cmd As Byte If (bytesTotal > 0) Then ' If there is any data...
WinsockClient.GetData CH, vbByte + vbArray, bytesTotal
'CH = Buf
'Text2.Text = CH
txtt = "" For I = 0 To bytesTotal - 1
If Chr(CH(I)) <> Chr(13) Then '忽律回车符 txtt = txtt & Chr(CH(I)) End If
Debug.Print "接受到的数据:"; CH(I)
Debug.Print "转换计算后的字符数据:"; Chr(CH(I))
Next I
FEND = Split(txtt, (Chr(10)))
现在出现丢包现象。。着急啊。。感谢各位大大。。
~~~~~~~~~
Dim CH() As Byte
Dim Test() As Integer
Dim I As Integer
Static cmd As Byte If (bytesTotal > 0) Then ' If there is any data...
WinsockClient.GetData CH, vbByte + vbArray, bytesTotal
'CH = Buf
'Text2.Text = CH
txtt = "" For I = 0 To bytesTotal - 1
If Chr(CH(I)) <> Chr(13) Then '忽律回车符 txtt = txtt & Chr(CH(I)) End If
Debug.Print "接受到的数据:"; CH(I)
Debug.Print "转换计算后的字符数据:"; Chr(CH(I))
Next I
FEND = Split(txtt, (Chr(10)))
现在出现丢包现象。。着急啊。。感谢各位大大。。
~~~~~~~~~
对于TCP,要注意几个要点:1. 一次发送不代表一次接收,你发送一次,可能触发多次事件,也可能发送多次,只触发一个arrival事件
2. 一个send可能只发送send所要求的一部分字节,发送者有责任检查send的返回值,并把剩余部分发送出去