VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 935|回复: 7

[求助] VC60 SOCKET通讯有延迟 怎样才能接收完整数据

[复制链接]
61_avatar_middle
在线会员 发表于 2017-3-29 09:03:39 | 显示全部楼层 |阅读模式
3驿站币
我现在在做VC6.0的 网络通讯实验 当客户端发出几帧有时间间隔的数据时,服务器端在接收中断中只能接收到客户端第一次发出的数据 间隔之后的就没有,求教怎么解决这个问题谢谢





上一篇:sqlite3数据库加密的详细实现过程
下一篇:vs2015添加资源问题
51_avatar_middle
online_admins 发表于 2017-3-29 09:07:12 | 显示全部楼层
只要双方建立起连接之后,一方发送的数据另外一方应该肯定可以收到。对send或者recv的返回值做下判断,看看有没有什么错误发生
61_avatar_middle
ico_lz  楼主| 发表于 2017-3-29 09:55:50 | 显示全部楼层
Syc 发表于 2017-3-29 09:07
只要双方建立起连接之后,一方发送的数据另外一方应该肯定可以收到。对send或者recv的返回值做下判断,看看 ...

那会不会有 进入接收中断时后面数据还未到 就是说一次RECEIVE中断到后因为有延时后面数据还未到需要第二次中断才能接收。 RECEIVE对于接收数据的间隔会不会有什么限制 比如0.5秒未到就算一次中断最短时间
61_avatar_middle
ico_lz  楼主| 发表于 2017-3-29 10:00:10 | 显示全部楼层
Syc 发表于 2017-3-29 09:07
只要双方建立起连接之后,一方发送的数据另外一方应该肯定可以收到。对send或者recv的返回值做下判断,看看 ...

一个RECEIVE是否能接收所有客户端传来的数据,还是有什么条件限制只能接收某时长 或 数据长度。
51_avatar_middle
online_admins 发表于 2017-3-29 14:16:07 | 显示全部楼层
jsszdfdn 发表于 2017-3-29 10:00
一个RECEIVE是否能接收所有客户端传来的数据,还是有什么条件限制只能接收某时长 或 数据长度。

是不是你 recv 接收函数的参数提供的缓冲区大小太小了,另外你说的中断是什么意思?
61_avatar_middle
ico_lz  楼主| 发表于 2017-4-4 15:33:58 | 显示全部楼层
Syc 发表于 2017-3-29 14:16
是不是你 recv 接收函数的参数提供的缓冲区大小太小了,另外你说的中断是什么意思?

我的意思是 网络传输时 客户端往 服务端传数据 如果发送1K数据 那我服务端一次就可接收所有数据,如果 客户端分3次发送 每发送一次间隔0.5秒 这时 在服务端的接收函数 ONRECV接收函数中会有多少数据内容。
51_avatar_middle
online_admins 发表于 2017-4-4 19:51:33 | 显示全部楼层
jsszdfdn 发表于 2017-4-4 15:33
我的意思是 网络传输时 客户端往 服务端传数据 如果发送1K数据 那我服务端一次就可接收所有数据,如果 客 ...

这个有多少数据内容是确定不了的
类似楼主这种情况得用到自定义协议了,每个数据包都有包头和包体,这样就不用管这个间隔的时间了
61_avatar_middle
ico_lz  楼主| 发表于 2017-4-9 15:52:13 | 显示全部楼层
Syc 发表于 2017-4-4 19:51
这个有多少数据内容是确定不了的
类似楼主这种情况得用到自定义协议了,每个数据包都有包头和包体,这样 ...

好的谢谢群主
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号tongdun|网站地图wx_jqr

GMT+8, 2019-6-20 02:17

Powered by Discuz! X3.4

© 2009-2019 cctry.com

快速回复 返回顶部 返回列表