关于winsock控件传一系列数据的问题

hgwu 2004-05-08 10:28:33
我现在正做一个远程仿真的程序,想把服务器端用Matlab仿真后得到的数据传到客户端,然后在客户端用曲线显示出来,这些数据是一系列的,可是我每次运行都不能在客户端得到这些数据。我是这样想的,用sendcomplete事件每次检测是否发送结束,然后发送下一个数据,在客户端读取时用for。。。next语句,但不成功。这些数据比较多,大约有几千个,如果一次发送如何发送?望各位大侠帮忙,谢谢!
...全文
75 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
hgwu 2004-05-09
  • 打赏
  • 举报
回复
我感觉我的程序主要问题在接受端,请问怎样才能在接受端保证数据的完整性啊,在接受端如何接收啊,用循环接收的问题在哪里,谢谢指点
hgwu 2004-05-09
  • 打赏
  • 举报
回复
能不能给个例程啊,谢谢了
hgw_9876@sina.com
stonegoldaustin 2004-05-09
  • 打赏
  • 举报
回复
可以自定义发送大数据.
简单的可以在发送完成后发一个约定好的数据,然后接收方再开始处理数据.
大数据量容易在发送时产生丢失,加入简单的校验可基本保证数据的完整性.
hgwu 2004-05-09
  • 打赏
  • 举报
回复
昨天可能问的晚了,希望有人能够帮助一下,谢谢了
hgwu 2004-05-09
  • 打赏
  • 举报
回复
谢谢了,我已经找到答案了,用copymemory函数把要传递的double数组转化为byte数组传送,因为winsock不支持其他类型的数组除了byte数组。接受端接收后在用此函数转化一下,就达到目的了,给大家借鉴一下,好东西不想独享,呵呵。
stonegoldaustin 2004-05-09
  • 打赏
  • 举报
回复
例子手头没有,而且这也不难.需要注意的有几点:
大容量数据收发的时候一定要进行校验,因为在实际的过程中肯定会有数据(包)丢失的情况发生,流程大致为:发送方发送固定长度的数据(包),发送后等待接收方的响应;接收方收到数据(包)后开始解包,进行校验,如果正确,发送正确的响应码给发送方,并将正确的数据进行保存,如果校验失败,则发送重发的响应码给发送方.
这就是个完整的流程.你按照这样做应该就不会有你上面出现的问题了.

1,453

社区成员

发帖
与我相关
我的任务
社区描述
VB 控件
社区管理员
  • 控件
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧