递归火山软件开发平台

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 火山 源码 类库
查看: 54|回复: 3
打印 上一主题 下一主题

[安卓] 安卓HP_UDP服务器长时间运行闪退

[复制链接]

4

主题

26

帖子

90

积分

注册会员

Rank: 2

积分
90
跳转到指定楼层
楼主
发表于 5 小时前 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
用了HP的UDP服务器 不定时会闪退
<火山程序 类型 = "通常" 版本 = 1 />

方法 HP_UDP服务器_数据进入 <接收事件 类型 = 整数 注释 = "  当服务器接收到客户端数据时,将触发本事件."
        注释 = "  请注意,HP服务器/Pull服务器/Pack服务器收到数据后,都将会通过本事件通知用户," 注释 = "但不同的服务器将会导致本事件参数不同,请您按照以下方式进行数据接收."
        注释 = "" 注释 = "    1.HP服务器: HP服务器为PUSH通信模型,接收到数据后,将会立即通过本事件通知用"
        注释 = "户,并且设置本事件的\"当前接收数据长度\"和\"当前所接收数据\"参数." 注释 = ""
        注释 = "    2.PULL服务器: Pull服务器接收到数据后,将会立即通过本事件通知用户,但是只会"
        注释 = "设置本事件的\"当前接收数据长度\"参数,\"当前所接收数据\"将为空对象,您可以进行数"
        注释 = "据长度累计,当所接收到数据长度为完整的包长度后,使用方法\"抓取数据\"或\"窥探数据\"" 注释 = "从内存中将数据提取,直接组成一个完整的数据包." 注释 = ""
        注释 = "    3.Pack服务器: Pack服务器接收到数据后,并不会立即通过本事件通知用户,只有当数" 注释 = "据接收完整之后,才会触发本事件,省去您自行拆包组包的步骤."
        返回值注释 = "本事件返回值无具体意义,请返回默认值0." 折叠2>
参数 来源对象 <类型 = HP_UDP服务器 注释 = "提供事件产生的具体来源对象">
参数 标记值 <类型 = 整数 注释 = "用户调用\"挂接事件\"命令时所提供的\"标记值\"参数值,非此方式挂接事件则本参数值固定为0.">
参数 当前数据来源连接ID <类型 = 整数 注释 = "当前连接ID">
参数 当前接收数据长度 <类型 = 整数 注释 = "当前数据长度">
参数 当前所接收数据 <类型 = "字节 []" 注释 = "当前所接收数据." 注释 = "请注意: 如果当前服务器为PULL服务器,本参数将为空对象,请不要使用本参数.">
{
    变量 包大小 <类型 = 文本型>
    变量 MD5值 <类型 = 文本型>
    变量 转换 <类型 = 整数>
    如果 (来源对象 == UDP服务器)
    {

        开始俘获异常 ()
        {

            如果真 (当前所接收数据 != 空对象)
            {

                如果 (文本包含 (字节数组到文本 (当前所接收数据), "完成OK") == 真)
                {

                    如果 (全局变量.数据源 != 空对象)
                    {
                        // 包大小 = 取文本中间2_ (字节数组到文本 (当前所接收数据), "[", "]")
                        MD5值 = 取文本中间2_ (字节数组到文本 (当前所接收数据), "<", ">")
                        // 转换 = 文本到整数 (包大小)

                        // 如果真 (转换 == 取数组成员数 (全局变量.数据源))


                        如果 (MD5值 == 摘要_取数据MD5 (全局变量.数据源, 假))
                        {

                            图片框1.置图片数据 (全局变量.数据源)

                            // 图像加载类.初始化 (空对象).加载4 (整数数组1).载入至 (图片框1)


                        }


                        全局变量.数据源 = 空对象
                    }


                }
                否则
                {

                    如果 (全局变量.数据源 == 空对象)
                    {

                        全局变量.数据源 = 当前所接收数据
                    }
                    否则
                    {
                        全局变量.数据源 = 字节数组操作.合并 (全局变量.数据源, 当前所接收数据)

                    }


                }


            }


        }
        俘获所有异常 ()
        {

            提示信息框 (取被俘获异常对象 ().取异常文本 ())
            // 调试输出(取被俘获异常对象 ().取异常文本 ())

        }

    }
    返回 (0)


}



有时候几小时 有时候一小时 是不定时自动闪退 异常也抓不了 应用奔溃处理也使用了 也是抓不了是直接闪退到桌面
回复

使用道具 举报

474

主题

2万

帖子

4万

积分

超级版主

Rank: 8Rank: 8

积分
47765
QQ
沙发
发表于 3 小时前 | 只看该作者
直接闪退了,那可能是库内部的问题了。so库内部崩了才会抓不住。

这就不好解决了。。。
安卓无障碍课:点击查看
接安卓类库封装,需要的联系570828305
回复

使用道具 举报

4

主题

26

帖子

90

积分

注册会员

Rank: 2

积分
90
板凳
 楼主| 发表于 3 小时前 | 只看该作者
创世魂 发表于 2026-3-24 18:51
直接闪退了,那可能是库内部的问题了。so库内部崩了才会抓不住。

这就不好解决了。。。 ...

还是挺奇怪的 就是不知道是什么原因 我现在设置了 每小时自动重启 还是没用 有时候他半小时都可能会掉 重启太快的话 会不会导致资源没有释放完就又启动了
回复

使用道具 举报

4

主题

26

帖子

90

积分

注册会员

Rank: 2

积分
90
地板
 楼主| 发表于 3 小时前 | 只看该作者
创世魂 发表于 2026-3-24 18:51
直接闪退了,那可能是库内部的问题了。so库内部崩了才会抓不住。

这就不好解决了。。。 ...

电脑发送端用的不是HP封装的UDP 但是安卓他也能接收 这样会不会导致也有问题?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|递归火山软件开发平台 ( 鄂ICP备18029190号 )

GMT+8, 2026-3-24 22:49 , Processed in 0.089280 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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