如题,学校机房的点名系统,(用网页实现),老师发出点名的指令后,电脑探测到所有连接上的计算机后,向学生机发出指令,学生机自动弹出网页。(允许在学生机装客户端)

解决方案 »

  1.   

    是啊。当服务器发出一个点名指令后,如何使多台客户端都自动弹出点名页面呢。我的思路是:当服务器对一台客户端点名时,可以把客户端IP和点名时间更新到一个临时表tempRoll(每次更新之前都delete清空一下表)中,然后客户端接收到命令后,就从tempRoll中检索IP和点名时间的信息显示在自动弹出的页面上,以标识自己。这种方法对一对一的点名没问题。
       问题是:假设有三个管理员,机房假设有60个客户端,每个管理员负责20台点名。问题就出来了:这三个管理员同时在9:00钟对自己负责的20个点同时点名。但我就一个临时表tempRoll。那后来的点名信息就把前面的给覆盖了。导致客户端自动弹出的页面经常是对不上信息。A客户端显示的IP变成了B客户端的。因为B客户端的信息覆盖了临时表。
      

  2.   

    就是这样的,
    点名时:如果一个管理员访问网页,点击“点名”按钮发送命令后,立即把被点名的学生机IP和点名时间存储到了临时表TempRoll(该表只存储一条记录,存储之前先Delete清空)中,学生机接收到"点名"命令后,从表TempRoll中取出自己的IP和点名时间,显示在自动弹出页面。这种方法对一对一的点名正常。 但如果三个管理员同时访问网页,同时点击“点名”按钮发送命令,可是我的表TempRoll只存储一条记录,每次都是更新处理。那后面的一更新就把前面的记录更新没了。
      

  3.   

    建议楼主看看dot net 的Remote技术,有种广播方式的sample就可以实现这样的功能。
      

  4.   

    客户端可以开个线程,每0.5秒询问服务端一次,看有没有信号发出这样,如果服务端有信号发出的话,0.5秒之内便能通知所有的客户端,根本不用数据库另外,楼上的,是.net remoting技术,而不是remote