VB Winsock接收数据的问题

我定义了一个名为data()的数组(Byte型)
使用GetData方法接收数据时,因为服务端发的不止1个包!
所以data里的内容在DataArrival事件里被替换了,只剩最后一个包的内容.
有什么办法让它不替换,全部存起来?
或者用GetData方法接收数据时,能指定从data(100)开始存入?

第1个回答  2011-11-10
你问的实在是太不清楚了,没有服务器端的发包规则,也不发出你的接收的源码!这问题解决起来太难!
我分析一下你可能犯的错误!最有可能的是这样:既然服务器端要发送多个包,那你接收端有声明了数组,那你应该是把多个包分别储存在DATA()这个数组变量中,那声明的时候要注意,这必须是通用声明才能起作用。
第二一个就是你没把多个包分配给DATA()这个数组。所以导致了你只能看到最后一个包。那你就可以弄个TEXTBOX,然后在DATAARRIVA事件里,winsock1.getdata DATA下面写TEXT1.TEXT=TEXT1.TEXT & DATA
第2个回答  2011-11-05
这算是winsock控件的一个问题,解决的方式是:在发送端,每次send命令前都加一个Doevents
我知道,但是没有试过,有其他人试过后总结的追问

发送端不是我写的...

相似回答