目标:希望数据库服务器在更改时能通知相应的客户机,同时还得判断客户机连接是否正常。背景:数据库同时用于Web方式访问(不判断web用户的连接情况)。局域网的用户大约为10个左右。Web用户可能几百个到几千个。方案一:纯数据库,客户端定时查询获取相应的信息。由于需要知道各个客户端是否连接正常,需要一个表,客户机定时更新一个字段,记录当前时间,以是否超时判断是否掉线。
优点是编程相对简单。方案二:数据库+Socket,在更改数据库的同时,给Socket服务器发送一条消息,由Socket服务器发送消息到相应的客户机,再由客户机读取数据库。判断连接是否正常依靠Socket定时互相通讯来判断。
优点是减轻了数据库服务器的负担。希望大家结合性能,速度等帮忙决策,谢谢。预祝大家春节快乐!
优点是编程相对简单。方案二:数据库+Socket,在更改数据库的同时,给Socket服务器发送一条消息,由Socket服务器发送消息到相应的客户机,再由客户机读取数据库。判断连接是否正常依靠Socket定时互相通讯来判断。
优点是减轻了数据库服务器的负担。希望大家结合性能,速度等帮忙决策,谢谢。预祝大家春节快乐!
解决方案 »
- 再提一个关于idhttp的问题
- 关于线程的问题----很简单,我想在主窗体上利用线程打开另一个窗体,怎么做?
- 关于mDI窗体显示的问题啊
- [Fatal Error] ExTracer.pas(59): File not found: 'JclDebug.dcu'
- 为何在文本框不能输入,但将焦点移到别的文本框中然后以后去,则可以输入,readpnly=false enabled=true
- 请教几个键盘响应的问题
- Tmainmenu的文字的大小问题,额外加分100
- 散分!高手请进。Label及Panel透明度问题!
- 为什么我定义的Class的Private变量也可以被外部修改,在.后面也会列出来?
- 关于QuickReport的问题,多谢了
- 我想在生成预览的时候,如果页面上记录条数不够20行的时候,打印空行
- 如何在windows media player里控制伴唱,原唱
对于Web用户,只能定时调用WebService获取相应的信息了,否则维护一个庞大的连接列表也不轻松。这对于两者来说是一样的。Web用户和局域网用户功能是不同的。为什么不把数据一起发过去?是因为每个人的操作要做记录,而且,告诉相应的客户机后,也不一定需要其立即进行操作。
这种情况下,相对于方案一,服务器的复合是否增大?