随笔 - 28  文章 - 3 评论 - 115 阅读 - 89504
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

效果图:

 

主要是通过后台线程来管理客户端的连接状态以及消息状态.

 webconfig配置

 

 

<appSettings>
    
<add key="IntervalTime" value="10000"/>间隔时间
    
<add key="HasDB" value="N"></add>是否查询数据库系统信息
    
<add key="ConnectInterval" value="4000"></add>连接间隔时间

  
</appSettings>

 

 

 

 

1.asp.net

 当客户段第一次连接的时候通过              

ThreadPool.RegisterWaitForSingleObject(client.EventWaitHandle, new System.Threading.WaitOrTimerCallback(WaitOrTimerCallback), client, ConnectInterval, true)向线程池添加一个可以定时执行函数,

设置

public AutoResetEvent EventWaitHandle = new AutoResetEvent(false);

client.EventWaitHandle

的状态,实现立即向客户端发送消息,通过这个函数实现客户端的长连接.保持客户端的可持续性.

 

 

 

2.通过AJAX轮询

 

 

ajax

 

 下载演示代码

 

 

 下载实现长连接的代码COMET.DLL

 

 

 另外另一种实现方法  实现

FluorineFx + Flex 实现 效果如下。

http://ftp-woody.d134.6266668.cn/chat2.aspx 

 

posted on   woody.wu  阅读(3533)  评论(56编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示