一个简单聊天室实例

这个简单的聊天室没有与数据库连接,但是它实现了一个聊天室的基本功能,如登录验证、在线提示、在线人数统计、聊天记录等,主要用到表单、request对象、response对象、application对象、session对象、cookie对象、server对象等。

1.打开VS2005,新建一个项目命名为ChartRoomTest

右键单击解决方案选择“添加新项”菜单命令,在弹出的对话框中选择“全局应用程序类”,单击“添加”按钮

双击打开Global.asax文件,添加如下代码

在 Application_Start事件中添加代码:

        string[] TempTalk = new string[10];//用于存储聊天室的前十个聊天记录
        Application["TalkConten
t"] = TempTalk;
        Application["TalkId"] = 0;//存储聊天室记录的总数
        Application["UserCount"] = 0;//存储目前的在线人数
  

在Session_Start中添加:   

        Session.Timeout = 30;//会话的失效时间为30分钟
        Session["UName"] = "";//登陆的名字
        int uCount = Int32.Parse(Application["UserCount"].ToString());
        uCount += 1;
        Application["UserCount"] = uCount;//在线人数
    在 Session_End中添加

       int uCount = Int32.Parse(Application["UserCount"].ToString());
        uCount = uCount - 1;
        Application["UserCount"] = uCount;

2.聊天室的登陆

进入聊天室后需要一个用于聊天的用户名,这个就需要通过登陆功能来完成

将default.aspx重命名为Login.aspx,切换到设计视图,布局控件如图:


其中:    登录名 id属性值为NameTxt 。 密码id属性值为Pwdtxt

登陆事件:

protected void btnLogin_Click(object sender, EventArgs e)
    {

        // 定义两个变量用来获取用户登录名和密码
        string strUserName;
        string strPassword;

        strUserName = Request.Form["NameTxt"].ToString().Trim();
        strPassword = Request.Form["PwdTxt"].ToString().Trim();

        /*if (!((strUserName == "yolanda") || (strPassword == "123")))
        {
            Response.Redirect("login.aspx");
        }*/

        if (strUserName == Session["UName"].ToString())
        {
            lblMessage.Text = "对不起,您已经登陆了";
        }
        else
        {

            //将用户名和密码存储到对应的UserName和Password中,并将用户名存储到session的UName中
            Session["UserName"] = strUserName;
            Session["Password"] = strPassword;
            Session["UName"] = strUserName;
            Response.Redirect("main.aspx");
        }

    }

取消事件

protected void btnCanle_Click(object sender, EventArgs e)
    {
        Response.Write("

你可能感兴趣的:(JAVA)