一个客户修改了服务器数据库的数据,另一个客户如何及时知道?(50分)

  • 主题发起人 主题发起人 huawdg
  • 开始时间 开始时间
H

huawdg

Unregistered / Unconfirmed
GUEST, unregistred user!
我用的是 TDataSetProvider 和 TCliendDataSet 组件,使用 Interbase 数据库服务器,
当我的一个客户程序修改了表以后,另一个客户程序必须刷新后才能看到新的数据。
请问服务器怎样通知另一客户。
 
修改程序的客户端向其他客户端发送消息,通知他们数据库已更新。
 
在服务端提交数据成功后,由服务端向客户端发送消息,客户端再刷新已打开的DATASET
 
最好是服务器发个消息通知所有客户端呀!然后客户端再刷新。
 
谢谢各位大侠!
是不是要用WinSock呢(我还没有用过它)?
我不太懂服务器(或一个客户程序)怎样通知另一个客户程序。
 
与木马原理差不多了。要用到网络通讯的东西。
收到别人发过来的信息,你就干什么事了。

 
理论上可以,实际上很少这么干。
如果很多用户都在修改数据,服务器和网络都会累死。
还是客户端定时刷新比较现实一点.
 
这种方式是不是服务端必须编写程序,由服务端定时扫描数据库,当发现数据库改变时,由
此程序通知客户諯?
 
同意 xeen 看法,
1、客户端定时刷新。
2、定时读数据库的某一记录,该记录是记录数据库更新的标志如最后更新时间或数字,
如果读取的时间或数字标志大于本地所设定的时间或数字标志就刷新数据库。
这样做法,又不用在服务端写什么程序通知,
而只需在客户諯更新写入数据库的时候向指定的记录添加或修改标志,就行了。
个人愚见,自己想想吧。

 
当某边修改数据之后,就直接启动另一客户端的更新功能,这是不难实现的。

也不需要发什么消息,直接更新。。

就像使用木马一样。
 
谢谢参与,就此结帖
 
后退
顶部