目录

Default.aspx

Default.aspx.cs

main.aspx

main.aspx

SendMessage.aspx

SendMessage.aspx.cs

ShowMessage.aspx

ShowMessage.aspx.cs

Users.aspx

Users.aspx .cs

运行结果


Default.aspx

<body><form id="form1" runat="server"><div style="text-align:center"><br />登陆<br /><br />用户名:<asp:TextBox ID="txtUsername" runat="server"></asp:TextBox>&nbsp;<asp:Button ID="btnLogin" runat="server" OnClick="btnLogin_Click" Text="登 陆" Width="69px" /><asp:Label ID="lblTs" runat="server" ForeColor="Red" Height="13px" Text="用户名太短" Visible="false" Width="112px"></asp:Label><br /></div></form>
</body>

Default.aspx.cs

protected void btnLogin_Click(object sender, EventArgs e){bool IsChonfu = false;if (this.txtUsername.Text.Trim().Length < 1){lblTs.Visible = true;}else{string UserIp = Request.UserHostAddress.ToString();Session["User"] = this.txtUsername.Text.Trim();string UserInfo = this.txtUsername.Text.Trim() + "--" + UserIp;ArrayList UserList;if (Application["UserList"] == null){UserList = new ArrayList();UserList.Add(UserInfo);Application["UserList"] = UserList;Response.Redirect("main.aspx");}else{UserList = (ArrayList)Application["UserList"];for (int i = 0; i <UserList.Count; i++){if (UserInfo==UserList[i].ToString()){IsChonfu = true;}else{IsChonfu = false;}}if (IsChonfu==false){UserList.Add(UserInfo);}Application["UserList"] = UserList;Response.Redirect("main.aspx");}}}

main.aspx

<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>聊天室主页</title><style type="text/css">
#iframe1{left:0px;width:1000px;height:400px;}
#iframe2{right:0px;height:400px}
#iframe3{bottom:0px;width:1200px;}</style>
</head><body><form id="form1" runat="server"><div id="div1"><iframe id="iframe1" src="ShowMessage.aspx"></iframe> <iframe id="iframe2" src="Users.aspx"></iframe><iframe id="iframe3" src="SendMessage.aspx"></iframe></div></form>
</body>
</html>

main.aspx

    protected void Page_Load(object sender, EventArgs e){if (Session["User"] == null){Response.Redirect("Default.aspx");}}

SendMessage.aspx

<body><form id="form1" runat="server"><div align="center"><br />发送消息<asp:TextBox ID="txtMessage" runat="server" Height="52px" Width="596px"></asp:TextBox><asp:Button ID="btnSend" runat="server" Height="61px" Text="立 即 发 送" Width="97px" OnClick="btnSend_Click1" /><asp:Button ID="bthDeleteMessage" runat="server" Height="61px" OnClick="btnDeleteMessage_Click"Text="删除聊天记录" Width="97px" />&nbsp;<asp:Button ID="btnDeleteUsers" runat="server"Height="61px" OnClick="btnDeleteUsers_Click1" Text="清除在线用户"  Width="97px" /><br /><br /></div></form>
</body>

SendMessage.aspx.cs

 protected void Page_Load(object sender, EventArgs e){if (Session["User"] == null){Response.Redirect("Default.aspx");}}protected void btnSend_Click1(object sender, EventArgs e){ArrayList MessageList = new ArrayList();string SendUser = Session["User"].ToString();string SendMessage = this.txtMessage.Text;string SendTime = DateTime.Now.ToString();string Message = SendUser + "于" + SendTime + "说:" + SendMessage + "<br><br>";if (Application["MessageList"] == null){MessageList.Add(Message);Application["MessageList"] = MessageList;}else{MessageList = (ArrayList)Application["MessageList"];MessageList.Add(Message);Application["MessageList"] = MessageList;}this.txtMessage.Text = "";this.txtMessage.Focus();}protected void btnDeleteMessage_Click(object sender, EventArgs e){Application.Remove("MessageList");}protected void btnDeleteUsers_Click1(object sender, EventArgs e){Application.Remove("UserList");Response.Redirect("Default.aspx");}

ShowMessage.aspx

<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><title>聊天室</title><style type="text/css">body,td,th {font-size: 16px;color:#FF0000;font-weight:bold;padding:inherit;}</style>
</head>
<body><script>setTimeout("location.href='ShowMessage.aspx'",900)</script><form id="form1" runat="server"><div><%ArrayList MessageList = new ArrayList();if(Application["MessageList"]==null){Response.Write("暂无聊天信息");}else{MessageList = (ArrayList)Application["MessageList"];for(int i=0;i<MessageList.Count; i++){Response.Write(MessageList[i]);}}%></div></form>
</body>

ShowMessage.aspx.cs

    protected void Page_Load(object sender, EventArgs e){if (Session["User"] == null){Response.Redirect("Default.aspx");}}

Users.aspx

<body><form id="form1" runat="server"><div><span style="color: #ff0066">&nbsp; &nbsp; &nbsp; 用户列表<br /><br /><%  ArrayList UserList = new ArrayList();if(Application["UserList"]==null){Response.Write("暂无用户");}else{UserList = (ArrayList)Application["UserList"];for(int i = 0; i < UserList.Count; i++){Response.Write(UserList[i] + "<br><br>");}}%></span><br /><br /></div></form>
</body>

Users.aspx .cs

    protected void Page_Load(object sender, EventArgs e){if (Session["User"] == null){Response.Redirect("Default.aspx");}}

运行结果

ASP.NET实现简单的聊天室相关推荐

  1. Application对象 简单的聊天室

    使用Application对象可以使得多个用户在访问同一个asp.net应用程序时,能够共享信息,在多个用户同时访问asp.net时,都会产生一个Application对象.通常可以把共享的数据变量存 ...

  2. LayIM 3.9.1与ASP.NET SignalR实现Web聊天室快速入门(五)之使用RabbitMQ缓存消息

    前言 本系列文章特点:使用ASP.NET SignalR和LayIM快速入门对接,实现一对一聊天,群聊,添加聊天群组,查找聊天记录等功能.源代码不包含LayIM的源代码,因为官方并没开源属于收费资源, ...

  3. ICE专题:实现简单的聊天室(一)

    目标:实现一个简单的聊天室.本文实现的聊天室仅出于演示ICE的多播功能,即由一个Client发送的消息,广播至注册的其他Client上.以后的系列文章,将逐步完善这个例子,使其成为一个现实意义上可用的 ...

  4. java udp简单聊天程序_Java基于UDP协议实现简单的聊天室程序

    最近比较闲,一直在抽空回顾一些java方面的技术应用. 今天没什么事做,基于udp协议,写了一个非常简单的聊天室程序. 现在的工作,很少用到socket,也算是对java网络编程方面的一个简单回忆. ...

  5. java 简单的聊天室_Java简单聊天室

    实现Java简单的聊天室 所用主要知识:多线程+网络编程 效果如下图 /** * * @author Administrator * *简单的多人聊天系统--重点:同时性,异步性 *1.客户端:发送消 ...

  6. SpringBoot入门建站全系列(二十七)WebSocket做简单的聊天室

    SpringBoot入门建站全系列(二十七)WebSocket做简单的聊天室 一.概述 WebSocket 是一种网络通信协议.RFC6455 定义了它的通信标准. WebSocket 是 HTML5 ...

  7. 用ServletContext做一个简单的聊天室

    这里主要是ServletContext的一个特性:ServletContext是一个公共的空间,可以被所有的客户访问.由此可见ServletContext比cookie和session的作用范围要大[ ...

  8. LayIM 3.9.1与ASP.NET SignalR实现Web聊天室快速入门(七)之LayIM与MVC数据交互实现单聊和群聊

    前言 本系列文章特点:使用ASP.NET SignalR和LayIM快速入门对接,实现一对一聊天,群聊,添加聊天群组,查找聊天记录等功能.源代码不包含LayIM的源代码,因为官方并没开源属于收费资源, ...

  9. LayIM 3.9.1与ASP.NET SignalR实现Web聊天室快速入门(四)之ASP.NET SignalR核心功能介绍

    前言 本系列文章特点:使用ASP.NET SignalR和LayIM快速入门对接,实现一对一聊天,群聊,添加聊天群组,查找聊天记录等功能.源代码不包含LayIM的源代码,因为官方并没开源属于收费资源, ...

  10. Netty - 一个简单的聊天室小项目

     经过一段时间对Netty的学习,我们对Netty各版本以及像ProtocolBuffers等技术应用都有了不少相关的了解, 我们就用这段时间学到的只是做一个简单的聊天室的小项目来练习自己学到的技术. ...

最新文章

  1. Chrome浏览器控制台报错NET::ERR_SSL_OBSOLETE_VERSION
  2. 如何看待导师直接说你写的论文就是垃圾?
  3. Html5 WebSocket 技术介绍(转载)
  4. 算法---------两数之和
  5. go语言条件语句 if else
  6. 利用mm命令编译Android模块
  7. mysql 2027_阿里云mysql远程登录报ERROR 2027(HY000)
  8. 转 Grand Central Dispatch 基础教程:Part 1/2 -swift
  9. 华中数控机器人编程循环三次_华中数控:公司在数控技术上不断创新突破 在技术方面处于国内领先水平...
  10. Python 实现队列
  11. CCV 调试 (一)
  12. WF本质论 OpenSesame 芝麻开门代码
  13. Java 菜鸟入门 | Java中的静态变量、实例变量、局部变量和成员变量
  14. 机器学习中非平衡数据的处理 —— smote算法
  15. Java SE 003 原生数据类型使用陷阱
  16. Win10家庭版系统无法打开相机功能解决方法
  17. 2022-爬虫-Selenium-百度安全验证
  18. ubuntu如何安装java jdk,Ubuntu下安装JDK图文详解
  19. 7个黑科技十足的微信小程序,每一个都能让你念念不舍!
  20. Spark 任务提交流程说明

热门文章

  1. 解决IIS 下ASP程序错误只显示500,不显示具体错误描述的问题!
  2. java webservice 异常_java异常webservice
  3. java基础练习题(含答案)
  4. Ubuntu16.04安装MATLAB2014a
  5. 全球系留无人机系统行业调研及趋势分析报告
  6. 【数学建模】Lingo软件介绍+常用函数总结+样例
  7. Python可视化深度图
  8. php 判断来访ip地址是国内还是国外的,验证IP属于国内还是国外的PHP类
  9. XenCenter导出和导入模板
  10. Python3 发票导出XML转Excel