用asp和php的方法不用说了,asp功能没有这么强,统计不到这么精确,不能监控客户端行为。
我想,要解决这个问题必须要从服务器的层面来解决了,这个应该没有不能办到的,服务器和客户端通讯,下载的文件分成n个包传送,文件传送结束后,服务器肯定知道的。
各位朋友可以说说自己的观点,不一定要能完全解决我的问题,只要有知道往哪个方面入手即可,比如说在iis上面可以这样解决啊,apache上可以那样解决,或者用cgi,或者是jsp可以解决什么的,只要有这方面的信息,都欢迎涉入。
我现在只是想要知道解决的方法,至于网站服务器类型不限,语言不限。
就只有50分,希望大家说说自己的看法,交流下经验,谢谢。
6 个解决方案
#1
先让用户下载个下载客户端,由下载客户端和服务器联系,这样统计的效果肯定真实
#2
我给你讲一下IIS6的做法。
凡是成功下载成功的,你就能在IIS日志里面找到一条相应的status为200的纪录。你只要统计这个日志里面你的软件的文件名(如XXX.exe)向对应的200的记录条数,就可以实现你的需求了。
此外,根据这一条日志记录里面"Bytes Sent"的大小,你可以进一步确认是否完全下载完毕了。
http://technet.microsoft.com/en-us/library/cc786596(WS.10).aspx
如果下载到一半用户取消了或者网络断掉了,你可以在HttpErr日志里面发现一条Connection_Dropped记录
http://support.microsoft.com/kb/937692
凡是成功下载成功的,你就能在IIS日志里面找到一条相应的status为200的纪录。你只要统计这个日志里面你的软件的文件名(如XXX.exe)向对应的200的记录条数,就可以实现你的需求了。
此外,根据这一条日志记录里面"Bytes Sent"的大小,你可以进一步确认是否完全下载完毕了。
http://technet.microsoft.com/en-us/library/cc786596(WS.10).aspx
如果下载到一半用户取消了或者网络断掉了,你可以在HttpErr日志里面发现一条Connection_Dropped记录
http://support.microsoft.com/kb/937692
#3
l楼的朋友,谢谢你的想法,不过这样的方法会被客户端认为是有木马行为而屏蔽,我以前好像试过,什么瑞星,卡巴之类的门神根本就不让你发送http协议。
#4
2楼的朋友,这个方法可以实现,虽然的确没有什么技术要求,但非常感谢你的回答。
但是如果我们的机器是在虚拟主机或是网上租用的主机,没有这么容易得到iis日志的情况下,应该如何办呢?
#5
很抱歉,没办法。
文件的下载是由web服务程序所控制的,比如w3wp.exe把数据发给网络层。
你连IIS日志都无法得到的话,又如何能得到w3wp.exe进程的运行状态呢?那么也就无法得到下载的进行时信息。
谢谢!
文件的下载是由web服务程序所控制的,比如w3wp.exe把数据发给网络层。
你连IIS日志都无法得到的话,又如何能得到w3wp.exe进程的运行状态呢?那么也就无法得到下载的进行时信息。
谢谢!
#6
学习
#1
先让用户下载个下载客户端,由下载客户端和服务器联系,这样统计的效果肯定真实
#2
我给你讲一下IIS6的做法。
凡是成功下载成功的,你就能在IIS日志里面找到一条相应的status为200的纪录。你只要统计这个日志里面你的软件的文件名(如XXX.exe)向对应的200的记录条数,就可以实现你的需求了。
此外,根据这一条日志记录里面"Bytes Sent"的大小,你可以进一步确认是否完全下载完毕了。
http://technet.microsoft.com/en-us/library/cc786596(WS.10).aspx
如果下载到一半用户取消了或者网络断掉了,你可以在HttpErr日志里面发现一条Connection_Dropped记录
http://support.microsoft.com/kb/937692
凡是成功下载成功的,你就能在IIS日志里面找到一条相应的status为200的纪录。你只要统计这个日志里面你的软件的文件名(如XXX.exe)向对应的200的记录条数,就可以实现你的需求了。
此外,根据这一条日志记录里面"Bytes Sent"的大小,你可以进一步确认是否完全下载完毕了。
http://technet.microsoft.com/en-us/library/cc786596(WS.10).aspx
如果下载到一半用户取消了或者网络断掉了,你可以在HttpErr日志里面发现一条Connection_Dropped记录
http://support.microsoft.com/kb/937692
#3
l楼的朋友,谢谢你的想法,不过这样的方法会被客户端认为是有木马行为而屏蔽,我以前好像试过,什么瑞星,卡巴之类的门神根本就不让你发送http协议。
#4
2楼的朋友,这个方法可以实现,虽然的确没有什么技术要求,但非常感谢你的回答。
但是如果我们的机器是在虚拟主机或是网上租用的主机,没有这么容易得到iis日志的情况下,应该如何办呢?
#5
很抱歉,没办法。
文件的下载是由web服务程序所控制的,比如w3wp.exe把数据发给网络层。
你连IIS日志都无法得到的话,又如何能得到w3wp.exe进程的运行状态呢?那么也就无法得到下载的进行时信息。
谢谢!
文件的下载是由web服务程序所控制的,比如w3wp.exe把数据发给网络层。
你连IIS日志都无法得到的话,又如何能得到w3wp.exe进程的运行状态呢?那么也就无法得到下载的进行时信息。
谢谢!
#6
学习