实现 英文_实现 asp 的服务器无刷新推技术

更新时间:2017-10-03 来源:服务器 点击:

【www.hzclsc.cn--服务器】


            
             
              
               
               
             
            
            



            关于推送技术
-----------------------------
转载请注明出处:一鹤.NET_WWW.1HE.NET

Client PULL(客户端拉技术)
通常,聊天室通过不断刷新来显示服务器的最新信息,即所谓的Client PULL(客户端拉技术)Client PULL必须不停的建立连接,刷新信息,断开连接,这样效率很低,而且速度很慢.(如果加快速度,频繁的建立断开连接刷新页面都会增加服务器与客户端的资源消耗)

Server Push(服务器推技术)
推技术就是建立一个连接以后,由服务器主动的把最新信息源源不断的推送到客户端
不需要不停的建立断开连接,不需要刷新页面,相比之下,推技术效率更好速度最快

但是很可惜,一直以来,ASP都不能实现erver Push技术

曾经看过微软网站提供的ASP推送技术方案,用死循环达到服务器的延时实现Server Push技术,这种代码只要一个客户端执行,CPU占用立即达到百分之百,最重要的是受到ASP线程限制,打开这个页面,其他的ASP页都必须排队等待这个页面执行完毕。

实现 asp 的服务器无刷新推技术
-----------------------------
转载请注明出处:一鹤.NET_WWW.1HE.NET

首先我用C++写了一个ASPpush.DLL,通过ASP代码的配合达到零负载的延时效果
下载ASPpush.DLL:http://www.1he.net/ASPpush/ASPpush.exe

使用ASP指令EnableSessionState=False突破ASP的线程限制
(这就是最关键的地方了,其实ASP本身是多线程的之所以你在ASP中只能得到单线程其原因是ASP对每一个会话产生一个线程,如果在ASP页面前用上EnableSessionState=False指令,就可以得到一个独立的线程与TCP连接用来源源不断的向客户端推送新的信息)

使用ASP的Response.IsClientConnected属性判断连接及时回收资源

使用以上方法,我制作了一个聊天室,
经过测试,一百人在线聊天,系统的全部CPU占用不超过百分之五(Windows 2003),
无论在内存占用还是CPU占用都没有超过使用客户端刷新的聊天室

实际上,使用客户端刷新的方法,仍然是一个对服务器持续的资源占用,而且必须频繁的建立连接断开连接,对于聊天室来说,客户端刷新的聊天室的资源占用是没有任何优势的,而且速度非常慢


准备工作
-----------------------------
转载请注明出处:一鹤.NET_WWW.1HE.NET

下载ASPpush.DLL:http://www.1he.net/ASPpush/ASPpush.exe

解压缩后首先请运行:Com.reg(这个文件会在右键菜单中添加注册COM组件的子菜单)

将ASPpush.dll 拷贝到系统目录
windows2000 $:/winnt/system32
windows2003 $:/windows/system32

右键点击system32/ASPpush.dll
点击右键菜单中出现的“注册DLL”
(当然你可以在命令行中注册:Regsvr32 $:/windows/system32/ASPpush.dll)

注意:$: 更换为系统盘


示例代码
-----------------------------
转载请注明出处:一鹤.NET_WWW.1HE.NET

下面是使用ASPpush.DLL实现服务器推送的示例代码:

<%@ Language="VBScript" codepage ="936" EnableSessionState=False %>
<%
Response.Buffer = True

set ASPpush = Server.CreateObject("ASPpush.page")
Do While Response.IsClientConnected
"================================
"在这里修改或自定义要执行的ASP代码
Response.Write "我晕...
"
"================================
Response.Flush
ASPpush.wait 100 "后面的数字以毫秒为单位(1000毫秒=1秒),指定推送的速度
Loop
set ASPpush=nothing
%>


本文主要介绍推技术在ASP中实现的原理,至于具体的实现可能还需要您自已发挥了

----------
附注:

批量文件播种机最新版:网站程序制作必备工具
http://jh.1he.net/yes/down/list.asp?id=106

前些天写了一个小软件:模拟精灵,虽然很简单,不过很实用,也很好玩
也是必备的桌面工具,推荐下载:

本文来源:http://www.hzclsc.cn/ruanjianzixun/2383.html

为您推荐

[军团召唤]军团1944服务器指令控制台代码一览 军团1944作弊码有哪些

玩家在军团1944的服务器中可以使用一些指令来帮助游戏进行的更加方便,例如更换地图、更换队伍等。下面就为大家带来军团1944服务器指令控制台代码一览,一起来看看吧。军团1944服务器指令控制台代码一览角色扮演

2020-12-20 07:04:16   小小军团   疯狂的军团  

【龙珠战士z连不上服务器怎么设置】龙珠战士z连不上服务器怎么解决 连接服务器失败解决方法

龙珠战士z连不上服务器怎么解决?不少玩家朋友们在进入游戏后会出现连不上服务器的问题,导致无法正常的游玩,下面我们就来介绍一下龙珠战士z连接服务器失败解决方法,希望对各位有所参考。龙珠战士z连接服务器失动作射击

2020-12-19 23:04:37  

【腐蚀怎么读】腐蚀怎么联机 腐蚀搭建服务器图文教程

腐蚀是一款近期即将上架的爆款游戏,很多玩家都想组队来进行游戏。那么游戏如何联机呢?下面为大家带来腐蚀搭建服务器图文教程,希望能帮到大家。腐蚀搭建服务器图文教程Steam游戏后台服务器管理程序下载但凡是角色扮演

2020-12-19 17:04:38   铜腐蚀怎么处理   腐蚀怎么做好吃  

铁路大亨4|铁路大亨2怎么联机 铁路大亨2联机教程

铁路大亨2是一款运输策略类型的游戏,玩家该怎么在游戏中和好友进行联机游戏呢?下面就来分享一下铁路大亨2联机教程。铁路大亨2联机教程进入游戏,点多人游戏,TCP IP做主机就点新建,然后设定服务器名字(策略与战棋

2020-12-19 11:04:43   铁路大亨2秘籍   铁路大亨手机版  

我的世界服务器重启不了怎么办啊_我的世界服务器重启不了怎么办 我的世界服务器重启方法

我的世界服务器重启不了怎么办 我的世界服务器重启方法时间:2018 1 16 16:48:16来源:www pc6 com作者:佚名我要评论我的世界联机游戏中,许多玩家无法重启服务器,这种情况该怎么办

2020-12-17 07:04:32