易语言取字节集时内存字节分配错误
.子程序巨型发送.参数数据,字节集,,10w-100w.局部变量A,字节集.局部变量B,字节集.局部变量C,字节集.局部变量D,字节集.局部变量E,字节集.局部变量段,字...
.子程序 巨型发送
.参数 数据, 字节集, , 10w-100w
.局部变量 A, 字节集
.局部变量 B, 字节集
.局部变量 C, 字节集
.局部变量 D, 字节集
.局部变量 E, 字节集
.局部变量 段, 字节集
.局部变量 长, 整数型
A = 取字节集左边 (数据, 取整 (长度 ÷ 5))
段 = 取字节集右边 (数据, 长度 - 取整 (长度 ÷ 5))
长 = 取字节集长度 (段)
B = 取字节集左边 (段, 取整 (长度 ÷ 5))
段 = 取字节集右边 (段, 长 - 取整 (长度 ÷ 5))
长 = 取字节集长度 (段)
C = 取字节集左边 (段, 取整 (长度 ÷ 5))
段 = 取字节集右边 (段, 长 - 取整 (长度 ÷ 5))
长 = 取字节集长度 (段)
D = 取字节集左边 (段, 取整 (长 ÷ 2))
E = 取字节集右边 (段, 长 - 取整 (长 ÷ 2))
客户1.发送数据 (A)
客户2.发送数据 (B)
客户3.发送数据 (C)
客户4.发送数据 (D)
客户5.发送数据 (E)
当运行到该子程序的时候,如果数据比较大,比如50MB就会出现内存分配错误,如果数据小就没问题 展开
.参数 数据, 字节集, , 10w-100w
.局部变量 A, 字节集
.局部变量 B, 字节集
.局部变量 C, 字节集
.局部变量 D, 字节集
.局部变量 E, 字节集
.局部变量 段, 字节集
.局部变量 长, 整数型
A = 取字节集左边 (数据, 取整 (长度 ÷ 5))
段 = 取字节集右边 (数据, 长度 - 取整 (长度 ÷ 5))
长 = 取字节集长度 (段)
B = 取字节集左边 (段, 取整 (长度 ÷ 5))
段 = 取字节集右边 (段, 长 - 取整 (长度 ÷ 5))
长 = 取字节集长度 (段)
C = 取字节集左边 (段, 取整 (长度 ÷ 5))
段 = 取字节集右边 (段, 长 - 取整 (长度 ÷ 5))
长 = 取字节集长度 (段)
D = 取字节集左边 (段, 取整 (长 ÷ 2))
E = 取字节集右边 (段, 长 - 取整 (长 ÷ 2))
客户1.发送数据 (A)
客户2.发送数据 (B)
客户3.发送数据 (C)
客户4.发送数据 (D)
客户5.发送数据 (E)
当运行到该子程序的时候,如果数据比较大,比如50MB就会出现内存分配错误,如果数据小就没问题 展开
2个回答
展开全部
哪有你这样的!
你当是光纤呢!
一般一次发送10M就挺大了!
自己写传输规则,100M的文件可以加上标识分割成20份,分次发送,然后重新组合!
如果带宽比较小,就要分的更小!
还有你的思路错了!一看就是没认真学的,你分段有什么用,看看你的变量,耗费了多少内存!
你想要发送数据量大的!
首先你要定义一个 发送数据量大小! 作为每次发送数据的最大值 当文件大于这个值时开始分割! 否则就直接传送!
假设 发送数据量大小为 500K
我要传送一个8M的文件!
那么
文件大小已经超出 发送数据量大小
所以进行分割, 文件大小/发送数据量大小=块
然后计次 次数 为块的值 取整还要+1
接下来就简单了,读入 发送数据量大小 ,然后发送
以上所耗费的内存 仅仅比 发送数据量大小 稍大
而你所耗费的内存 就比你所要传送的文件还要大 假如你要传一个500M的文件,那么你要耗费不止500M的内存,
你当是光纤呢!
一般一次发送10M就挺大了!
自己写传输规则,100M的文件可以加上标识分割成20份,分次发送,然后重新组合!
如果带宽比较小,就要分的更小!
还有你的思路错了!一看就是没认真学的,你分段有什么用,看看你的变量,耗费了多少内存!
你想要发送数据量大的!
首先你要定义一个 发送数据量大小! 作为每次发送数据的最大值 当文件大于这个值时开始分割! 否则就直接传送!
假设 发送数据量大小为 500K
我要传送一个8M的文件!
那么
文件大小已经超出 发送数据量大小
所以进行分割, 文件大小/发送数据量大小=块
然后计次 次数 为块的值 取整还要+1
接下来就简单了,读入 发送数据量大小 ,然后发送
以上所耗费的内存 仅仅比 发送数据量大小 稍大
而你所耗费的内存 就比你所要传送的文件还要大 假如你要传一个500M的文件,那么你要耗费不止500M的内存,
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询