求asp.net用服务器推技术实现的聊天室源码

gaoliang1981 2010-08-27 09:07:35
只要实现一个客户端发送聊天消息,所有的客户端用推技术接收该消息的简单功能即可。要完整代码。
或者能提供这样的实例最好:

利用推技术完成一个客户端向数据库插入数据,其他客户端立刻感应到该动作,并在自己的DataGrid或GridView中作出刷新。必须用推技术。不能用拉的方式。
...全文
291 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
sos__sos 2010-12-03
  • 打赏
  • 举报
回复
来学习的 飘过
codeku 2010-12-03
  • 打赏
  • 举报
回复
我也想要同样的代码
camperer 2010-08-31
  • 打赏
  • 举报
回复
ajax可以做。。
gaoliang1981 2010-08-27
  • 打赏
  • 举报
回复
楼上给的地址只说了思想,没有实现
xingshungames 2010-08-27
  • 打赏
  • 举报
回复
http://www.cnblogs.com/richardhu/archive/2006/08/29/489324.html
hahanan1987 2010-08-27
  • 打赏
  • 举报
回复
被移到非技术区了。。难咯
gaoliang1981 2010-08-27
  • 打赏
  • 举报
回复
自己顶
qq100191677 2010-08-27
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hewansongjuan 的回复:]

什么叫推 什么叫拉
[/Quote]

按摩撒
小河 2010-08-27
  • 打赏
  • 举报
回复
什么叫推 什么叫拉
jeven_xiao 2010-08-27
  • 打赏
  • 举报
回复
求源码?友情顶住
gaoliang1981 2010-08-27
  • 打赏
  • 举报
回复
是不是各ASPX内也要添加什么啊
gaoliang1981 2010-08-27
  • 打赏
  • 举报
回复
或者我改成这样问吧,网上有一段用推送方式实现聊天功能的这样的代码:
second

public class Content : System.Web.UI.Page
{
private void Page_Load(object sender, System.EventArgs e)
{
Session.Timeout = 60;
Response.Write("欢迎 . . .<br>\n");
Response.Flush();
Application[Session.SessionID] = Response;
System.Threading.Thread.Sleep(System.Threading.Timeout.Infinite);
}
}


// Send.aspx.cs //////////////////////////////////////////////////////////
public class Send : System.Web.UI.Page
{
protected System.Web.UI.WebControls.Button ButtonSend;
protected System.Web.UI.WebControls.TextBox TextBox1;

private void ButtonSend_Click(object sender, System.EventArgs e)
{
foreach(string name in Application.AllKeys)
{
HttpResponse Response = Application[name] as HttpResponse;
if(Response!=null && Response.IsClientConnected)
{
Response.Write(TextBox1.Text + "<br>\n");
Response.Flush();
}
else
{
Application.Remove(name);
}
}
}
}

但我在用的时候Content页面中会在Application[Session.SessionID] = Response这句报 “会话状态已创建一个会话 ID”的错,而在Send页面中,Response.IsClientConnected这句总报“未将对象引用设置到对象实例”的错。我运行的顺序是先运行Content再运行Send,只想要的效果是再Send输入信息并按发送按钮时,Content能将信息显示出来的效果。麻烦大家帮忙说说我到底是粘贴代码有问题,还是操作顺序有问题,还是什么问题。。。。。急死了
gaoliang1981 2010-08-27
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 lowson0 的回复:]
lz太懒了,100分就想要个源码程序
[/Quote]
就知道会有你这种人出现,我到这来是求教的,问不问是我的事,给不给是你的是,想评头品足,你就免了!
michael_ls 2010-08-27
  • 打赏
  • 举报
回复
怎么个推法?

不用socket能推吗?silverligth 聊天室网上有源码!!!
如一宝宝 2010-08-27
  • 打赏
  • 举报
回复
lz太懒了,100分就想要个源码程序
完美-态度 2010-08-27
  • 打赏
  • 举报
回复
推,拉。。
这技术,没用过。
gaoliang1981 2010-08-27
  • 打赏
  • 举报
回复
继续求解
说明 : 一、概念 借用横刀天笑的解释这个Comet概念:“像彗星那样拖着长长的尾巴的http长连接”。事实上大家都知道,http是不可以与服务器持久连接的,要是每个请都与服务器持久连接的话,那服务器早就宕掉了,就像前段时间像博客园连接数超过2000就出来了Service Unavailable一样。。 就像网上的解释: step 1.向服务器发出请 step 2.服务器端查看是否有数据 step 3.如果有数据,则向客户端发送数据,结束该请,返回Step1 step 4.如果没有数据,等待,直到有数据出现,进入step 3 通过以上几步可以看出,客户端与服务器是始终维持着一个连接的,这样看起来,就像客户端与服务器端始终有一个没有关闭的连接一样。也就是他们说的"HTTP长连接". 二、基于ASP.NET和jQuery的Comet实现 其实jQuery只是一个手段,这里用到它的Ajax部分,用于向服务器端发送请。在我的源码中,就是用于负责向服务器端发送两个请:1、发送数据 2、发送等待请(当服务器有数据时该请会返回后再次发送) 至于服务器端,如何实现判断服务器有数据便返回,没有数据便等待的功能呢?Google一下,可以知道ASP.NET实现异步处理的话,实现IHttpAsyncHandler接口就可以了。该接口的BeginProcessRequest(HttpContext context, AsyncCallback cb, object extraData)方法返回一个IAsyncResult对象。当不调用其参数cb的回调函数时,该请不会结束。 故我们可以在该方法中做一下文章,用一个单例模式实现的消息处理类Messages将所有请的IAsyncResult对象保存起来,这样便可以知道有多少个客户端发送了请,同时也可以遍历所有的IAsyncResult对象,实现向其客户端主动发送数据的功能。 上面说了,jQuery会发送两个请,第二个就是一个“等待请”,当服务器端主动发送了数据到客户端时,该请便能够收到服务器发送的数据。这样便完成了一次服务器向客户端主动发送数据。再次建立等待请,重复循环,实现“长连接”。
Asp.net大型OA系统源码、亲测可用无BUG!共分成4部分上传。 开发环境 :Asp.net + VS2010 + C# + SQL2008 含方案设计、数据库设计、二次开发文档等全套文档资料。 ====================================== 功能简介: 1:自定义工作流程,系统所有参数可自定义配置,支持多分公司、多部门架构 2:采用三层结构设计软件,系统扩容性强大,二次开发结构清晰、简单。 3:支持图形化工作流定义,工作流条件设置,条件分支定义。 4:表单字段权限控制。用户可自定义表单。 5:支持word,ppt,excel等在线编辑、电子印章、支持文件套红。 6:支持部门分级。角色权限可以分配到具体操作,如修改,删除等。 7:支持网络视频会议、语音会议、共享白板等。单台服务器最高可支持10000人同时在线。 8:集成Internet邮件管理组件,提供web方式的远程邮件服务 9:集成网络硬盘组件,提供便捷的局域网、广域网文件共享方案 10:集成公告、内部邮件、内部短信、文件柜、聊天室、论坛等模块,提供企业内部信息交流的多种方式 11:集成考勤管理、员工日程安排查询、员工工作日志查询、会议管理、工作计划等模块,提供企业管理者全新的管理工具 本OA前端分为PC端及手机端,后台系统独立出一个专门的项目,含有视频会议功能,手机版OA功能,含完整开发设计文档。 系统完全开源无任何加密,可直接使用或进行二次开发。
Asp.net大型OA系统源码、亲测可用无BUG!共分成4部分上传。 开发环境 :Asp.net + VS2010 + C# + SQL2008 含方案设计、数据库设计、二次开发文档等全套文档资料。 ====================================== 功能简介: 1:自定义工作流程,系统所有参数可自定义配置,支持多分公司、多部门架构 2:采用三层结构设计软件,系统扩容性强大,二次开发结构清晰、简单。 3:支持图形化工作流定义,工作流条件设置,条件分支定义。 4:表单字段权限控制。用户可自定义表单。 5:支持word,ppt,excel等在线编辑、电子印章、支持文件套红。 6:支持部门分级。角色权限可以分配到具体操作,如修改,删除等。 7:支持网络视频会议、语音会议、共享白板等。单台服务器最高可支持10000人同时在线。 8:集成Internet邮件管理组件,提供web方式的远程邮件服务 9:集成网络硬盘组件,提供便捷的局域网、广域网文件共享方案 10:集成公告、内部邮件、内部短信、文件柜、聊天室、论坛等模块,提供企业内部信息交流的多种方式 11:集成考勤管理、员工日程安排查询、员工工作日志查询、会议管理、工作计划等模块,提供企业管理者全新的管理工具 本OA前端分为PC端及手机端,后台系统独立出一个专门的项目,含有视频会议功能,手机版OA功能,含完整开发设计文档。 系统完全开源无任何加密,可直接使用或进行二次开发。

7,765

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧