如何使用ASP.NET开发基于推技术的聊天室? 说明:为了精简篇幅,我没有粘贴VS.NET自动产生的代码 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 Response.Write(TextBox1.Text + "<br>\n");Response.Flush();改为Response.Flush();TextBox1.Text保存到Application中,然后客户端网页Page_Load中读取不知这样效果是否会好一点 to: zp21th(enki)在客户端网页Page_Load中读取,会造成网页频繁刷新,一则闪烁厉害,二则效率不高,三则响应及时性不好 我的意思是能不能通过服务端来驱动客户端刷新你用:Response.Write(TextBox1.Text + "<br>\n");Response.Flush();不就是这个意思吗?只是把第一行代码放在Page_Load中执行 to: zp21th(enki)对于一个客户,Page_Load只执行一次,而每当有任一客户发言,上述代码就会执行一次,每一客户都会收到新的发言 Page_Load是每次网页刷新时都会调用的,如点击一个按钮,就会执行。不过我不是很确定Response.Flush();是否一定会让客户端执行Page_Load你可以试一下。Page_Load(){ this.TextBox1.Text+="<br>\n"+Application["SendString"];} to: zp21th(enki)我探索的是推技术聊天室,它的特点就是页面不刷新,对客户端的IE来说,就像在处理一个无穷大的页面,总是处于下载状态,所以,对于一个客户,Page_Load只执行一次;当有客户发言,就用循环向每一客户发出新的发言 你有调好的无刷新聊天室例子吗?给我发一份,研究一下!谢 [email protected] 内容页面:http://www.greatbull.net/pushchat/content.aspx发送页面:http://www.greatbull.net/pushchat/send.aspx 不过我要说一下,用这种方法时,你与客户端是一直维持连接的,可能一是你的机器的资源不多,二是http的这种维持连接是非常费资源的。能跑到50个连接应该算不错了,所以在正常的应用中,你还是要应用拉技术。这就是WEB的局限性。 to: wenejiang(伊麦龙)我知道维持连接是有点费资源的,不过,就算一个客户要占用一个TCP连接和一个线程,那也至少能同时连接几百个客户啊,所以,我怀疑是IIS或.NET在某个地方设置的限制,谁能告诉我在哪里设置? to: wenejiang(伊麦龙)并且那些线程都是挂起的,并不占用CPU资源 学习,能否把代码发送到[email protected] “我知道维持连接是有点费资源的,不过,就算一个客户要占用一个TCP连接和一个线程,那也至少能同时连接几百个客户啊,所以,我怀疑是IIS或.NET在某个地方设置的限制,谁能告诉我在哪里设置?”你用的什么操作系统?如果是2000 server 不用考虑连接人数的限制,系统默认无穷大不过如果你用的2000 pro, 系统IIS最多只支持40个左右的连接 你换个思路吧,做多2页,一个只返回一个行号,此行号代表发言条数,另一个页收受1个行号,通过行号的差,取得聊天室聊天记录的差(就是新加了的部分),客户端用JAVASCRIPT定时取行号,与自身的行号比较,一但服务器的行号大于自身的,就取更新了的部分,然后用JAVASCRIPT把这串加到文本框的内容中,是加,而不是删除了再加,这样就无刷新了,但其实还是一种定时刷新技术,只不过换了方式,做到了绝对不刷新 to: CSTerry(Terry) 我用的是 Windows 2000 Advanced Serverto: ajqc(ajqc) 你说的是拉技术的聊天室,我原来就是用这种技术做的,后来想在其中增加点游戏内容,感觉到基于拉技术的响应实时性不好,所以想改为基于推技术的。本帖探索的是推技术聊天室。 我看过一个多线程的ASP.NET演示,好象刚好可以实现楼主的要求 to :huhe(胡呵)能给份代码研究一下吗?[email protected] to :huhe(胡呵)能给份代码研究一下吗?[email protected] to: jjstar(北人) 在哪里?请告知,先谢了! 给我一份代码学习学习,我的邮箱:[email protected] to :huhe(胡呵)能给份代码研究一下吗?[email protected]甚为关注!! to :huhe(胡呵)能给份代码研究一下吗?[email protected] 能给份代码研究一下吗?[email protected] 给份代码可以吗[email protected]我也一直在找这方面的问题,如果可以大家一起研究拉 能给我一份研究一下吗,谢谢![email protected] 偶以前做过用web service来交互数据, 把聊天室放在不同的服务器上 然后通过一台服务器web service来取得在线列到和所在服务器,实现不同服务器之 间互连 能发给我研究一下吗?[email protected] http://www.fawcette.com/vsm/2002_11/magazine/features/chester/default.asp楼主仔细看这篇文章,里面给出的代码不知道对你有用没? 聊天室的无刷新技术的确很吸引人,本人用隐藏帧实现,但感觉还是用xmlhttp是以后的主流方向 能给我一份吗??[email protected]谢谢:) to daveyao(dave.yao) xmlhttp是什么?能说一下么? asp.net视频里面怎么加载广告 怎么实现HTML页面换成aspx页面 web.congif整合问题 Repeater 限制字符 <%#Eval("content")%> 关于GridView分页、显示、以及编辑的问题 高手帮帮忙哈 谢谢了 VS2005的二个问题 请大家帮忙看下这样给控件属性绑定数据有什么问题? session.count .net中gridview如何批量添加数据 在datagrid中,当弹出一个窗口对某一记录进行修改关闭后,怎样能够把原包含datagrid的页面进行刷新,以显示修改效果。? 模板列ID的赋值??? 为什么我的ASP.NET突然间不能重定向了啊?
Response.Flush();改为Response.Flush();
TextBox1.Text保存到Application中,
然后客户端网页Page_Load中读取不知这样效果是否会好一点
在客户端网页Page_Load中读取,会造成网页频繁刷新,一则闪烁厉害,二则效率不高,三则响应及时性不好
你用:
Response.Write(TextBox1.Text + "<br>\n");
Response.Flush();
不就是这个意思吗?
只是把第一行代码放在Page_Load中执行
对于一个客户,Page_Load只执行一次,
而每当有任一客户发言,上述代码就会执行一次,每一客户都会收到新的发言
不过我不是很确定Response.Flush();是否一定会让客户端执行Page_Load
你可以试一下。
Page_Load()
{
this.TextBox1.Text+="<br>\n"+Application["SendString"];
}
我探索的是推技术聊天室,
它的特点就是页面不刷新,对客户端的IE来说,就像在处理一个无穷大的页面,总是处于下载状态,
所以,对于一个客户,Page_Load只执行一次;
当有客户发言,就用循环向每一客户发出新的发言
发送页面:http://www.greatbull.net/pushchat/send.aspx
我知道维持连接是有点费资源的,不过,
就算一个客户要占用一个TCP连接和一个线程,那也至少能同时连接几百个客户啊,所以,
我怀疑是IIS或.NET在某个地方设置的限制,
谁能告诉我在哪里设置?
并且那些线程都是挂起的,并不占用CPU资源
就算一个客户要占用一个TCP连接和一个线程,那也至少能同时连接几百个客户啊,所以,
我怀疑是IIS或.NET在某个地方设置的限制,
谁能告诉我在哪里设置?”你用的什么操作系统?如果是2000 server 不用考虑连接人数的限制,系统默认无穷大不过如果你用的2000 pro, 系统IIS最多只支持40个左右的连接
我用的是 Windows 2000 Advanced Serverto: ajqc(ajqc)
你说的是拉技术的聊天室,我原来就是用这种技术做的,后来想在其中增加点游戏内容,感觉到基于拉技术的响应实时性不好,所以想改为基于推技术的。
本帖探索的是推技术聊天室。
能给份代码研究一下吗?
[email protected]
能给份代码研究一下吗?
[email protected]
在哪里?请告知,先谢了!
能给份代码研究一下吗?[email protected]甚为关注!!
能给份代码研究一下吗?[email protected]
[email protected]
[email protected]我也一直在找这方面的问题,如果可以大家一起研究拉
然后通过一台服务器web service来取得在线列到和所在服务器,实现不同服务器之
间互连
[email protected]