开发者社区> 问答> 正文

Swing桌面版程序待办事项提醒功能:报错

    现在内部项目中想添加一个 待办事项的提醒功能.就是设定时间,等到了时间后 桌面版自动弹出通知提醒. 

首先想到的笨方法:客户端每隔多长时间去服务器读取待办事项,然后判断哪些到时间了.进行提醒,但是这样太耗费服务器资源.

另外也想到了在客户端设置提醒,但是考虑到以后要在手机端或者其他端使用,不如从服务器端设置的好.

想请教大神们,是否有比较好的解决方案.谢谢!

展开
收起
kun坤 2020-06-06 17:10:25 497 0
1 条回答
写回答
取消 提交回答
  • 服务器写定时器,触发了就推送到客户端。

    不知道你服务器定时器怎么写- -,我没写过。

    客户端(swing和其他)建立一个socket,可以接收推送

    ######回复 @atearsan : 谢谢,确实是内部项目,主要是列些待办事项,到时主动提醒一下用户.######回复 @圣杰是也 : 你说的是内部项目?那意思是你们公司内部自己用么?如果项目对于实效性不高,那你可以参照2楼的答案定时轮询,我觉得可以了。 如果要求能达到实时推送的效果,你建立一个socket通道。不会耗太多资源。######你好,如果客户端建立socket,那么采用长连接吗?这样不是很费资源,如果用轮训是不是消耗的会少点.谢谢你的回答.######服务端每次修改数据库总是记录一个总的最后更新的时间。
    并且在数据库里记录下每个任务记录的最后更新时间。

    然后客户端定时去查询这个总的更新时间,如果发现数据库比自己的新:
    就去服务端请求查询比本地更新时间的任务记录并更新到本地,然后记录下本次数据库的最后更新的时间。
    ######回复 @figer1 : 谢谢.######回复 @圣杰是也 : 这个思路主要是考虑避免不必要的数据传输和同步,是用长连接还是轮询都可以的、如果实时性要求不高建议你使用轮询会简单些,打个比方:为了节省开关机的费用,于是每次打电话都保持不断线,这能坚持多久房子都变电信的了。######你好,谢谢您的回答. 看到您的思路感觉还是轮询的方式.客户端在某个时间去服务器检测下,将要满足的返回到本地..这样在时间设置上太紧密了消耗资源,跨度太大了容易错过待办事项..请问您是否有相应的案例呢?
    2020-06-06 17:10:30
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载

相关实验场景

更多