.NET 1.0Visual Studio .NET 2003.NET 1.1Visual Studio 2005.NET 2.0中级开发Visual StudioWindows.NETVisual BasicASP.NET
一个简单的 ASP.NET 聊天程序






3.90/5 (21投票s)
一个使用 ASP.NET 的简单聊天应用程序。
引言
本文档描述了如何创建一个聊天应用程序。在这个应用程序中,总共使用了六个页面。
主页
此页面有三个框架。第一个框架将显示用户信息和输入的聊天消息(左侧)。右侧框架将显示当前在线用户数量及其姓名。框架的底部将显示一个文本框和一个注销按钮。
有三种类型的对象用于存储用户信息和数据
Session
Cookie
Application
Session
对象用于在服务器端存储特定用户的相关信息。Cookies
对象用于在特定客户端存储特定用户的相关信息。并且,Application
对象可以在网络中使用。
在这个应用程序中,我使用了 Session
对象来进行登录验证。
session("UserName")=txtUserName.text
这将在服务器端创建一个 Session
对象。我们可以使用这个 object
.(Authentication) 来验证用户的凭据。
在验证用户的凭据后,应用程序对象将创建如下:
Application("Chat")=Application("Chat") & name & "$"
如果用户在文本框中输入内容,表单将被刷新,并且 Application("chat")
的值将更改为新值,并且 Application("chat")
数组的列表将显示在主显示页面上。
用户的输入将使用 meta HTTP 对象中的自动刷新方法来显示。
<meta http-equiv="refresh" content="4">
这将使页面刷新。
用户列表
Application("Users")
用于计算在线用户数量。计数是通过分割 application("users")
中的特殊字符来获取的。
Logout
这个注销页面用于清除用户的会话,并从 application("users")
中删除用户名。因此,用户可以从聊天中关闭他的会话。对于私聊,application(user & session("user"))
用于区分其他用户和当前用户。
主页的左侧显示所有用户;当我们点击一个用户时,私聊页面将显示一个包含请求用户的新页面。
if Con.State = ConnectionState.Open Then Con.Close()
Con.Open()
name = rdname(0)
Con.State = ConnectionState.Open Then Con.Close()Dim cmd_name As New SqlCommand(
"Select Emp_Name From UserAccounts_Master Where UserId = '" & Session("UserId") & "'",
Con)Dim rdname As SqlDataReader = cmd_name.ExecuteReaderWhile rdname.ReadEnd While
rdname.Close()
If name <> "" Then If Application("invite") = name Then
Response.Write("<script language="'javascript'">{ window.alert(
'" & Application("invite") & "," & Application("whom") & " invited you to chat') }
</script>")
Application("invite") = " "
'Dim focusString As String = ("<script language="'javascript'">{ window.alert(
'" & Application("invite") & "," & Application("whom") & " invited you to chat') }
</script>") 'Page.RegisterStartupScript("FocusScript",
focusString) 'Session.Timeout = 20000 End If End If
rdname.Close()
Con.Close()
试试看。谢谢!