|
楼主 |
发表于 2011-7-7 19:23:54
|
显示全部楼层
马大哈 发表于 2011-6-30 16:09 
那里所谓的几K,是指一次传输中封包的大小,就像运东西时你车的大小,与运多少东西无关.
车大,一次就能运 ...
谢谢老马的帮助,你说的没错,但现在还有个问题请教一下,我修改了一下程序用数组可以接受到发送的图片数据,但接收完成之后,想要picturebox控件将其显示出来,我采用的是将字节数组赋值给propertyBag对象,然后再通过propertyBag读出相应的数据,这个我在同一个窗口已经试过是没问题的,但通过winsock发送的数据(就是几次接收完成之后)却不能存放到propertyBag中,想了解一下原因,自己是第一次编这样的程序,有些地方还是很糊涂,希望能解答一二。程序是这样的
Private Sub Winsockserver_DataArrival(Index As Integer,ByVal bytestTotal As Long)
Dim pbag As New PropertyBag '得到图片信息
Dim bytImage() As Byte ' 保存图片信息
Dim pictureByt() As Byte '接收图像信息
Dim j,k as Long
Static i as Long
Winsockserver(Index) .GetData pictureByt,vbByte
j=UBound(pictureByte)
if i>0 Then
ReDim Preserve bytImage(i+j+1)
For k=0 To i
bytImage(k)=byteImage(k)
Next
For k=i To i+j
bytImage(k+1)=pictureByt(k-i)
Next
i=UBound(bytImage)
if i=307311 Then '307311是我测试的图片的字节
pbag.contents=bytImage ‘发送数据完成后此处就会显示无效的过程调用或参数Set Picture1.picture=pbag.ReadProperty("picture")
End if
else
bytImage=pictureByt
i=UBound(bytImage)
End if
End Sub
|
|