精易论坛

标题: 易语言的远程服务发送数据,火山收到的字节相差256 [打印本页]

作者: unknow不知    时间: 2024-3-5 19:01
标题: 易语言的远程服务发送数据,火山收到的字节相差256
问题描述1、易语言采用远程服务类作为服务端,等待客户Duan连接后,发送图片出去。

2、火山安卓使用网络客户Duan,参考系统的案例,作为客户Duan,连接服务端并接受图片,保存在app目录下。

3、服务端发出的字节数据,跟客户Duan接收到的字节数据部分数据不一样,差额刚好是256。字节长度是一样的
第1位第2位第3位第4位第5位第6位第7位第8位第9位第10位第11位第12位第13位第14位第15位第16位第17位第18位第19位第20位
易语言
255
216
255
224
0
16
74
70
73
70
0
1
1
0
0
1
0
1
0
0
255
219
0
67
0
安卓火山
-40
-1
-32
0
16
74
70
73
70
0
1
1
0
0
1
0
1
0
0
-1
-37
0
67
0
差异
255
256
256
256
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
256
256
0
0
0


诉求

1、怎么实现易语言服务都安发送的数据,与客户Duan收到的一样
2、或者有啥别的发放可以实现局域网内,易语言发送图片给安卓

源码.rar

647.56 KB, 下载次数: 3


作者: qq793359277    时间: 2024-3-5 19:01
unknow不知 发表于 2024-3-6 00:09
我除了找到了前面的符号差异,其他一点差异都没发现哪里有问题。但是就是打不开。见了鬼了。。有没有可能 ...

应该是吧 我基本不搞安卓的  你写的目录是内部私有的数据目录 需要ROOT权限才能访问
作者: 若相守卟离    时间: 2024-3-5 19:41
手机和电脑相互交换数据 超过字节数 最好分2次发送,把你的所有字节 分割成2部分 发送 手机就能收到所有数据 (如果字节很多就要分割成多个发送)手机端合并字节就可以了
作者: unknow不知    时间: 2024-3-5 19:55
若相守卟离 发表于 2024-3-5 19:41
手机和电脑相互交换数据 超过字节数 最好分2次发送,把你的所有字节 分割成2部分 发送 手机就能收到所有数 ...

我测试的字节数不到700,我还测试txt  一共就10个字节,也不行。应该不是字节长度的问题吧。
作者: qq793359277    时间: 2024-3-5 20:08
打开火山自带的与易语言通信例程 路径为
火山目录 \samples\vprj_android\samples\e_rpc_test
作者: unknow不知    时间: 2024-3-5 20:48
qq793359277 发表于 2024-3-5 20:08
打开火山自带的与易语言通信例程 路径为
火山目录 \samples\vprj_android\samples\e_rpc_test ...

我本地测试了自带的例子,返回的数据也是一样的有问题。我不知道是我自己调错了,还是哪里搞错了。你那测试的是一样的么
作者: qq793359277    时间: 2024-3-5 21:42
unknow不知 发表于 2024-3-5 20:48
我本地测试了自带的例子,返回的数据也是一样的有问题。我不知道是我自己调错了,还是哪里搞错了。你那测 ...

用文本测试正常吗? 先不要管火山负数的问题,火山字节用的是有符号字节
作者: qq793359277    时间: 2024-3-5 22:03
<火山程序 类型 = "通常" 版本 = 1 />
循环 (0, 取数组成员数 (收到数据), i, 1)
{
    显示内容 = 显示内容 + 到文本 (位与 (收到数据 [i], 255)) + ","
}
调试输出 (到文本 (显示内容), )

作者: unknow不知    时间: 2024-3-5 22:14
qq793359277 发表于 2024-3-5 22:03
循环 (0, 取数组成员数 (收到数据), i, 1)
{
    显示内容 = 显示内容 + 到文本 (位与 (收到数据 , 255))  ...

txt 我也测试过 也是错的。
作者: qq793359277    时间: 2024-3-5 22:40
unknow不知 发表于 2024-3-5 22:14
txt 我也测试过 也是错的。

你说错 到底是什么错呢?  我自己把你代码改完都是正常的

作者: unknow不知    时间: 2024-3-5 23:10
qq793359277 发表于 2024-3-5 22:40
你说错 到底是什么错呢?  我自己把你代码改完都是正常的

刚刚测试了下,修改代码后,后面的内容确实是一样的。但是不知道为啥  长度少了一位。

非txt  比如说图片的要怎么改? 特别是需要在安卓里面保存出有效文件。  我测试保存的文件没办法打开

作者: unknow不知    时间: 2024-3-5 23:11
unknow不知 发表于 2024-3-5 23:10
刚刚测试了下,修改代码后,后面的内容确实是一样的。但是不知道为啥  长度少了一位。

非txt  比如说图 ...

长度问题我知道了,从0开始递增
作者: qq793359277    时间: 2024-3-5 23:17
unknow不知 发表于 2024-3-5 23:11
长度问题我知道了,从0开始递增

我给你的代码就是从0开始
作者: unknow不知    时间: 2024-3-5 23:22
qq793359277 发表于 2024-3-5 23:17
我给你的代码就是从0开始

确实。。。现在传输txt是正常了。但是图片数据,安卓收到后,还是打不开。这个要咋处理?
作者: qq793359277    时间: 2024-3-5 23:24
unknow不知 发表于 2024-3-5 23:22
确实。。。现在传输txt是正常了。但是图片数据,安卓收到后,还是打不开。这个要咋处理? ...

打不开是什么意思
作者: unknow不知    时间: 2024-3-5 23:29
qq793359277 发表于 2024-3-5 23:24
打不开是什么意思


数据正常传输过来了 大小都是678字节  pc端是可以看到的png图片,但是安卓的相册无法打开。因为 没经过位与运算,所以我也不知道数据传输的对不对。
如果txt传输的是对的,那这个肯定也是对的,图片无法查看我就很奇怪了

作者: qq793359277    时间: 2024-3-5 23:36
unknow不知 发表于 2024-3-5 23:29
数据正常传输过来了 大小都是678字节  pc端是可以看到的png图片,但是安卓的相册无法打开。因为 没经过 ...

没什么问题啊  你不用纠结位于 字节实际都是相同的 只是有符号跟无符号的区别而已






补充内容 (2024-3-5 23:41):
自带的图库确实不显示 其他app可以  
作者: unknow不知    时间: 2024-3-5 23:45
qq793359277 发表于 2024-3-5 23:36
没什么问题啊  你不用纠结位于 字节实际都是相同的 只是有符号跟无符号的区别而已

火山的组件显示确实没问题,但是找到app目录下的文件,打不开这个图片。就算在文件目录下通过QQ之类的,作为图片转发,或者相册打开,都不行。
作者: unknow不知    时间: 2024-3-5 23:49
qq793359277 发表于 2024-3-5 23:36
没什么问题啊  你不用纠结位于 字节实际都是相同的 只是有符号跟无符号的区别而已

我用tim 、qq 都打不开。。。直接显示 暂无媒体文件
作者: qq793359277    时间: 2024-3-6 00:04
unknow不知 发表于 2024-3-5 23:49
我用tim 、qq 都打不开。。。直接显示 暂无媒体文件

确实没问题啊  
直接把图片写到雷电共享目录

写出文件 ("mnt/shared/Pictures/9992.jpg", 收到数据, 真)   

然后打开PC端的文件夹 C:\Users\Administrator\Documents\leidian9\Pictures 找到写出的文件

两个对比 一样的啊   字节都是一样的 大小也是
作者: unknow不知    时间: 2024-3-6 00:09
qq793359277 发表于 2024-3-6 00:04
确实没问题啊  
直接把图片写到雷电共享目录

我除了找到了前面的符号差异,其他一点差异都没发现哪里有问题。但是就是打不开。见了鬼了。。有没有可能是权限问题??
作者: unknow不知    时间: 2024-3-6 01:04
qq793359277 发表于 2024-3-6 00:20
应该是吧 我基本不搞安卓的  你写的目录是内部私有的数据目录 需要ROOT权限才能访问 ...

就是这个原因。。。私有路径,相册无权访问,导致无法读取数据,其实本身没问题。感谢大佬。。。折腾了好久




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4