如何使用ASP.NET开发基于推技术的聊天室?

王朝网络·asp·作者佚名  2006-01-09
宽屏版  字体: |||超大  

前一段我用APS.NET作了一个基于拉技术的聊天室,后来想在其中增加点游戏内容,感觉到基于拉技术的响应实时性不好,所以想改为基于拉技术的。

现已作了尝试,代码如下:

// Content.aspx.cs ///////////////////////////////////////////////////////

public class Content : System.Web.UI.Page

{

private void Page_Load(object sender, System.EventArgs e)

{

Session.Timeout = 60;

Response.Write("欢迎 . . .<br>\n");

Response.Flush();

Application[Session.SessionID] = Response;

System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);

}

}

// Send.aspx.cs //////////////////////////////////////////////////////////

public class Send : System.Web.UI.Page

{

protected System.Web.UI.WebControls.Button ButtonSend;

protected System.Web.UI.WebControls.TextBox TextBox1;

private void ButtonSend_Click(object sender, System.EventArgs e)

{

foreach(string name in Application.AllKeys)

{

HttpResponse Response = Application[name] as HttpResponse;

if(Response!=null && Response.IsClientConnected)

{

Response.Write(TextBox1.Text + "<br>\n");

Response.Flush();

}

else

{

Application.Remove(name);

}

}

}

}

可以聊天,但发现一大问题:同时连接的用户被限制在50个左右,再多的就连不上了,并且会导致其他用户也陷于停滞状态。

请高手答疑解惑,还可另开贴给分!

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有