首页 >> 中医诊断

利用AJAX和ASPNET实现简单聊天室

中医诊断  2020年06月21日  浏览:3 次

介绍

我的第一个简单的Chat room 是用ASP 3.0 写成的。那无外乎有二个TextBox,他们发送消息给程序变量然后显示在一个每秒刷新的页面上。在那个时代,一个真正的聊天室必须运用Java Applet或ActiveX control。不过这一切都在AJAX到来之后改变了。AJAX是一个结合了XML 和 JavaScript的异步通信机制。现在我们可以只用服务器代码和一点JavaScript 。这篇文章就是介绍如何用AJAX技术来构建一个简单的聊天室在建和拟建产能达800万吨。

示例程序

示例程序是一个单一的多用户聊天室。其内部维护着一个已登录用户的列表。列表将祛除session过期的用户。同时它还支持一些命令比如 /admin Clear 清除聊天室 /nick [Name] 改变用户姓名。

你还需要知道

这个程序使用一个类叫做 ChatEngine 。 这个类控制了全部的用户和消息。用户被储存在一个Hashtable 里,而消息储存在 StringCollection 里:

Hashtable users;

StringCollection chat;

一个 ChatEngine 的全局实例被放置在 :

public static hatEngine Engine = new atEngine();

一个JavaScript 函数用来异步的将全局变量内的数据显示在页面上:

function setTimers()

{

timeID = tTimeout( "updateAll()", refreshRate );

}

利用每个用户提供的名称和ID来标识用户:

public void AddUser(string id更多的拥有激情和执着。 给予小小建议:理想和行动的一致会取得好的成绩, string user)

{

//make sure user name does not exist already

if( !UserExists( user ) )

{

//add user to users list

d( id, user );

//display a notification message to all users

d( keServerMessage(rmat(

joinedfmt, user ) ));

}

}

截图和实现步骤

主页显示了聊天室的基本信息,比如有多少人在聊天室、ChatLog的大小。

为了能够登录聊天室,必须提供一个名称。

当 Login 按钮被单击。下面的代码就会被执行:

protected void Login( object sender, EventArgs e )

{

string user = xt; if( !ValidateNick( user ) ) return;

if( erExists( user ) )

{

xt = "A user with this " +

"name already exists, try again."

return;

}

direct( "px?action=Loginu=" + user );

}

查看本文来源

甘肃白斑疯医院
骨质疏松
渭南白癜风医院哪家好
友情链接