Codename One中WebSocket与AWS API网关重连的协议持久化问询
关于Codename One WebSocket自动重连丢失协议的问题及咨询
我正在开展一个结合Codename One WebSocket类与AWS API Gateway的项目。AWS API Gateway允许在$connect路由的响应中返回Sec-WebSocket-Protocol字段,支持客户端连接WebSocket API时请求特定子协议。
我遇到了Codename One WebSocket类自动重连(AutoReconnect)功能的问题:通过该类设置的协议信息在重连时会丢失。由于我的场景需要通过协议传递授权及用户信息,这一问题影响重大。
为解决此问题,我自定义了WebSocket类,添加私有String变量存储协议并修改重连函数,确保重连时恢复协议配置。该方案在连接、重连、断开环节表现正常,但OnOpen、OnMessage、OnClose及OnError方法无法正常工作,推测是原生功能无法适配外部修改所致。
作为临时 workaround,我停用了Codename One WebSocket类的重连功能,改为在OnClose方法中手动创建新WebSocket对象,实现递归重连机制,目前该方案运行良好。
我向Codename One团队及社区提出以下问题:
- 各位对我的方案有何看法?是否存在潜在问题或改进建议?
- 是否有计划增强Codename One WebSocket类,使其在重连过程中更好地处理协议持久化?未来是否可能添加用于安全目的的请求头信息?
感谢各位的时间与协助。
内容的提问来源于stack exchange,提问作者Oscar Naranjo
相关产品推荐
相关产品推荐

