Android 基于openfire即时聊天开发遇到的闪退问题:Already Login to Server

junjun071308 2014-11-17 12:02:14
在Android 客户端开发openfire即时聊天的时候,需求中有切换不同的用户的要求。

(注册用户没有问题)
登录的时候我是这样做的:connectServer-->login

下线的时候我是这么做的:disConnectServer

如果是有一个用户切换到另外一个用户,那么我是这样做的:disConnectServer-->connectServer-->login

由于网络等原因,会出现这样的情况,导致程序闪退:1.not connect to server 2.Already login to server

情况1、2出现的语句都是在login的时候。(ps:我在网络断开后重新连接网络时会去进行重新登录连接,我加了断线重连的监听,但是网络断线恢复后自动重新连接上的速度很慢,所以就自己手动重连)

所以想问一下,如何安全的确保已经成功连接上服务器的时候去登录、或者已经登录过了,那么就不再去登录

附1:登录代码
`

if (!xmppTool.isConnectedServer()) {
xmppTool.connServer();
}
if (xmppTool.isConnectedServer() && !xmppTool.getCon().isAuthenticated()) {
xmppTool.login(name, PWD);


`

附2:下线代码

if (xmppTool.isConnectedServer())
xmppTool.disConnectedServer()


附3:切换用户代码:

if (xmppTool.isConnectedServer())
xmppTool.disConnectedServer();

`if (!xmppTool.isConnectedServer())
xmppTool.connServer();

if (xmppTool.isConnectedServer() && !xmppTool.getCon().isAuthenticated())
xmppTool.login(newName, PWD);
...全文
456 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
u010951001 2015-12-16
  • 打赏
  • 举报
回复
楼主最后用的哪个包? 我现在一直都是Already Login to server 的问题
happyq 2015-06-27
  • 打赏
  • 举报
回复
引用 5 楼 junjun071308 的回复:
问题解决: 1.not connect to server 的问题需要在openfire服务器那边去设置,网络上搜索一下会有相关的教程,大概就是把安全选项里面的SSL什么的都设置为无效,同时在登录的时候,需要判断一下是否连接成功服务器,如果没有连接成功,那么就连接再去登录 2.Already Login to server 的问题,是我导入的那个smack版本的问题,也就是说这个问题的出现是我导入的包的一个bug,具体的bug描述是:该包的ReconnectManager里面的重新连接方法没有加入Synchronize进行加锁,然后导致了重连的时候会出现冲突,所以如果遇到这个问题的话,需要这样处理:1,看看你导入的这个包里面的ReconnectManager类中重连方法是否加锁,2,导入新包后重连速度快了很多,不需要再去自己手动重连了
楼主最后用的哪个包?
junjun071308 2014-12-04
  • 打赏
  • 举报
回复
问题解决: 1.not connect to server 的问题需要在openfire服务器那边去设置,网络上搜索一下会有相关的教程,大概就是把安全选项里面的SSL什么的都设置为无效,同时在登录的时候,需要判断一下是否连接成功服务器,如果没有连接成功,那么就连接再去登录 2.Already Login to server 的问题,是我导入的那个smack版本的问题,也就是说这个问题的出现是我导入的包的一个bug,具体的bug描述是:该包的ReconnectManager里面的重新连接方法没有加入Synchronize进行加锁,然后导致了重连的时候会出现冲突,所以如果遇到这个问题的话,需要这样处理:1,看看你导入的这个包里面的ReconnectManager类中重连方法是否加锁,2,导入新包后重连速度快了很多,不需要再去自己手动重连了
开发者_android 2014-11-18
  • 打赏
  • 举报
回复
xmpp及时聊天? 登录后,可以让服务器返回一个类似于令牌的东东,下次打开应用,请求直接带上这个东东去服务器进行验证就ok.
xiong1250 2014-11-18
  • 打赏
  • 举报
回复
可以判断是否已经登录成功啊,在断线重连接口加登录状态标准位
junjun071308 2014-11-17
  • 打赏
  • 举报
回复
引用 1 楼 Tibib 的回复:
应该在相应的回调方法中调用
不是很明白,能否给个相关的示例或者相关的教程链接
pobi 2014-11-17
  • 打赏
  • 举报
回复
应该在相应的回调方法中调用
内容概要:本文提出了一种促进可再生能源发电消纳的用户侧典型资源需求响应策略,并通过Matlab代码实现进行仿真验证。该策略聚焦于通过优化用户侧用电行为来提升电网对可再生能源波动性的适应能力,重点研究了需求响应机制下典型负荷资源的建模与调度方法。通过对用户侧可调节负荷(如温控负荷、电动汽车等)的特性分析,建立标准化的需求响应模型,结合电价激励或直接控制手段,引导用户在可再生能源出力高峰时段增加用电,在低谷时段减少用电,从而实现削峰填谷、提升新能源消纳水平的目标。研究还深入探讨了与共享储能系统的协同优化机制,进一步增强系统的灵活性和调节能力,为高比例可再生能源接入背景下的源网荷储协调运行提供技术支撑。; 适合人群:具备一定电力系统基础知识,从事新能源、需求响应、综合能源系统、电力市场等相关领域研究的科研人员及研究生。; 使用场景及目标:① 学习和复现用户侧需求响应在促进新能源消纳中的应用;② 掌握典型可调节负荷的精细化建模方法及其在Matlab中的程序实现;③ 为研究源网荷储协同优化、电力市场机制设计、综合能源系统调度等前沿课题提供可扩展的技术参考和代码基础。; 阅读建议:此资源包含完整的Matlab代码实现,建议读者在学习理论模型的同时,务必动手运行和调试代码,结合仿真结果深入理解需求响应策略的作用机理、优化过程及与共享储能协同的增益效果。
内容概要:本文围绕一个供应链产能分析项目的面试技术问题展开,深入探讨了LangGraph的状态机机制、工具调用原理、业务逻辑实现、流式传输、记忆管理、并发安全及系统优化方向。重点解析了State共享机制、reducer的作用、条件路由与循环控制、@tool装饰器自动生成Schema的原理,以及主子Agent分层设计带来的工具调用清晰性。同时指出了当前实现中存在的风险点,如共享状态导致的并发问题、明文配置安全隐患、模拟流式而非真正token流等,并提出了改进思路,包括引入锁机制、异步无状态架构、密钥管理服务和长期记忆RAG设计。此外还涉及测试缺失与性能瓶颈(如网关延迟、上下文膨胀)的应对策略。; 适合人群:具备一定Python与FastAPI开发经验,熟悉LangChain/LangGraph框架,正在准备AI工程化或供应链智能化相关岗位面试的中高级研发人员(工作2-5年)。; 使用场景及目标:①深入理解LangGraph在复杂业务场景中的状态流转与多Agent协作机制;②掌握工具调用、流式响应、记忆管理和安全性设计的最佳实践与常见陷阱;③在面试中展现对系统边界、稳定性、可扩展性的深度思考,提升技术表达的专业度与说服力。; 阅读建议:此资料适用于面试前冲刺复盘,建议结合“面试准备_精华版”对照学习,重点关注问题背后的架构权衡与改进方案,不仅能“背答案”,更要能“讲设计”。

80,492

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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