需求是这样的:web网站不定时的接收客户提交的请求,并将请求入数据库,而服务器上另有一vc程序作为守护进程定时查询数据库,一旦发现数据库有数据了,就进行相应处理,因为客户需要实时的响应,因此守护进程定时查询的间隔很短,一般是几秒,那这样运行起来每天要对数据库做上万次操作,显得很笨,我的想法是设置一个变量,让web网站和守护进程都能访问,当网站将客户请求入库的同时,该变量加1(初始值为0),而守护进程定市查询这个变量,一旦该变量不为0,才对数据库进行操作。请问有没有这样实现的技术?我对编程不是很熟悉,对什么共享变量,环境变量、注册表之类的都不是很懂,急需各位帮忙!

解决方案 »

  1.   

    有很多种做法,例如:
    1、vc程序用socket监听一个端口,web程序在访问数据库后发送消息到vc程序的监听端口。
    2、如果是用 SQL Server ,可以做触发器,在触发器里调用 exe 或者 dll 来通知 vc 程序(程序间通讯有很多方法)。还有其他很多方法就不细数了.
      

  2.   

    用触发器,配合一些SQLServer的系统存储过程。
      

  3.   

    1、vc程序用socket监听一个端口,web程序在访问数据库后发送消息到vc程序的监听端口
    ----------------------------------------------------------------
    web应用程序如果发送消息给vc的监听口?有这样实现的方法吗?
      

  4.   

    守护进程hEvent=CreateEvent(..., "webEvent");
    WaitForSingleObject(hEvent, INFINITE);
    do sth.Web网站使用ISAPI Extension处理客户提交的请求, 
    hEvent=OpenEvent(..., "webEvent");
    SaveToDB();
    SetEvent(hEvent);
      

  5.   


    比如,在VC程序中,实现一个小小的web server,监听8888端口,你只需要在你的网站程序接受处理完用户请求后,顺便发送一个请求给VC程序就可以了
      

  6.   

    vc程序给web发消息,没有用过。但是这个用触发器就完全可以实现了