准备开发一个给各个部门发送消息的功能,请问大家用什么技术实现最好

crazy_boom 2022-06-28 22:58:28

d7或者xe10.3.3

想要实现的功能。总部选择各个部门 ,在消息框里 填写要发送的消息。点击发送后(可以选择 时间点发送 比如10分钟后 20分钟后)。消息发送后

各个部门的客户端程序上会有消息气泡显示。如果如果部门人员点击看了消息 和没看消息的 。总部都有通知反馈。都会有统计 这个消息哪个部门看了 哪个部门没有看到。  开始我是准备 发消息都写入到数据库里,但是考虑如果客户端都去定时去轮数据库 感觉对服务器的数据库压力加大了。所以考虑

别的方法。 

...全文
161 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
qtc26 2022-09-18
  • 打赏
  • 举报
回复

客户端拿个线程循环访问服务器,不管是tcp还是udp,把timeout设为1分钟或更长。这样就能做到即时收到消息了。
QQ就是这样做的。

  • 打赏
  • 举报
回复

用socket

w000111 2022-07-06
  • 打赏
  • 举报
回复

钉钉就是这样用的,

hj8090 2022-06-29
  • 打赏
  • 举报
回复

如果要像QQ那样的即时通讯,就用ClientSocket(客户端)+ServerSocket(服务端),两端都自己写,服务端要难点(多线程+服务程序);
简单点就用数据库查询,优点是省了服务端的开发,而且相当稳定,如每隔1分钟查询一次,然后断开连接,没多大压力吧。

crazy_boom 2022-06-29
  • 举报
回复
@hj8090 300多个终端 都每隔1分钟查询一次 服务器压力没有吗
hj8090 2022-06-30
  • 举报
回复
@crazy_boom 适当延迟点时间间隔就可以了。这是最快速的方法。
tanqth 2022-06-29
  • 打赏
  • 举报
回复

简单方法就是弄一个服务器,各客户端连接到服务器,各消息都通过服务器中转。
再复杂一点,还是需要服务器,各客户端开放自己的通讯服务端口,服务器记录各客户端IP、端口,然后各客户端可以直接完成通讯。

然后,还有一种MQTT,他实际是一个消息服务器的。

  • 打赏
  • 举报
回复

这相当于即时通讯软件的一部分功能了,需要加一个服务器(业务量不大的话不需要物理上的服务器,只需要在你们现有的服务器上运行一个服务端软件即可),客户端启动的时候连接到服务端,这样服务端有消息之后可以直接推送给特定客户端,不需要客户端去轮询服务器。

墨梅无痕 2022-06-29
  • 打赏
  • 举报
回复

不建议开发这种鸡肋功能(如果是高管要求的除外)。
如果要发送的消息是正式的,一般都由邮件群发。
如果消息不是正式的,大多会被忽略掉,或者拉个微信群就可以做到。

crazy_boom 2022-06-29
  • 举报
回复
@墨梅无痕 拉个微信群发送的消息 能知道哪些人看了 哪些人没看吗

5,927

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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