C#制作简单的多人在线即时交流聊天室

2019-12-30 11:19:21于海丽

易采站长站为您分析C#制作简单的多人在线即时交流聊天室的相关资料,需要的朋友可以参考下

实现网页版的在线聊天室的方法有很多,在没有来到HTML5之前,常见的有:定时轮询、长连接+长轮询、基于第三方插件(如FLASH的Socket),而如果是HTML5,则比较简单,可以直接使用WebSocket,当然HTML5目前在PC端并没有被所有浏览器支持,所以我的这个聊天室仍是基于长连接+长轮询+原生的JS及AJAX实现的多人在线即时交流聊天室,这个聊天室其实是我上周周末完成的,功能简单,可能有些不足,但可以满足在线即时聊天需求,分享也是给大家提供一个思路,大家可以基于此来实现更好的在线即时聊天工具。

聊天室功能简介:

1。支持多人进入同一个聊天室聊天;

2。进入即离线均会自动生成通知信息显示在聊天室中,这样聊天的人们就知道谁进来了谁离开了;

3。实时显示在线人员表列;

4。无需数据库支持,全部存在内存中,当然有条件的可以采用分布式缓存或加一个数据库来存,这里演示就是用内存来存了。

下面就开始分享我的代码,由于采用原生的JS及AJAX,所以简单易懂,代码分别WEB前端及服务端(有点废话了)

WEB前端源代码如下:(ChatPage.html)

 

  1. <!DOCTYPE html>  <html xmlns="http://www.easck.com/1999/xhtml"> 
  2. <head>  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  3. <title></title>  <style type="text/css"> 
  4. html, body {  margin: 0px; 
  5. padding: 0px;  width: 100%; 
  6. height: 100%;  background-color: #f8f7f7; 
  7. font-family: arial,sans-serif;  } 
  8.   #layouttable { 
  9. margin:0px;  padding:0px; 
  10. width:100%;  height:100%; 
  11. border:2px solid green;  border-collapse:collapse; 
  12. min-width:800px;  } 
  13.   #layouttable td { 
  14. border: 1px solid green;  } 
  15.   .h100p { 
  16. height:100%;  } 
  17.   .midtr{height:auto;} 
  18. .midtr tr td {  height: 100%; 
  19. }   
  20. #chatmsgbox, #chatonlinebox {  background-color:white;