使用Application聊天室效率如何?

dryard 2005-02-10 01:19:05
使用Application聊天室效率如何?一台普通的服务器可以支持多少人同时在线聊天啊?
...全文
98 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
nga96 2005-02-12
  • 打赏
  • 举报
回复
用别的办法来实现吧
gxboy 2005-02-10
  • 打赏
  • 举报
回复
聊天室都用应用程序做了。
dryard 2005-02-10
  • 打赏
  • 举报
回复
那么请问什么样的方法效率比较高呢?能不能给个示例看看?
WillSmart 2005-02-10
  • 打赏
  • 举报
回复
fds2003 2005-02-10
  • 打赏
  • 举报
回复
up
dryard 2005-02-10
  • 打赏
  • 举报
回复
Application存储在内存中,是否是对内存消耗比较大?或者还有些什么不好的地方呢?主要消耗资源在什么地方啊?看了一些关于Application的介绍,主要是指对于服务器的内存消耗较大。

或者大家有什么更好的方法可以代替使用Application?
qzb0818 2005-02-10
  • 打赏
  • 举报
回复
少用
archerheyn 2005-02-10
  • 打赏
  • 举报
回复
100人到顶了。
yufenfeila 2005-02-10
  • 打赏
  • 举报
回复
Application比较占资源,尽量不要用这个
最近利用闲暇时间,作了个简单的聊天室,该聊天室使用 prototype.js (v1.4) 类库,主要应用Ajax技术、Application变量,做到小型架构,页面无刷新,[b]无数据库[/b],能查看在线用户等特点。

刚开始打算用access小型数据库,但考虑到多人在线时,这种轻量级的数据库承受能力将不能胜任存储任务,MSsql又不熟悉,我的空间也不支持,所以只往小型方向开发。所有聊天数据都存入服务器变量中,客户端与服务器的交互采用json的数据结构,效率还是相当高的。

写js也有一段时间了,发现再用vbscript写asp,有点不适应vb的语法,因此服务端application的全部使用Jscript操作。(js真tmd的自由!自由到连个像样子的IDE都没有-_-)。

当前已知的bug:
如果用户在任务管理器里终止ie进程,那么在线用户列表里将不能删除该用户名。(因为body元素的onunload没法运行-_-)

可以改进的地方:
1、客户端每隔n毫秒取一次数据,但当前返回的数据是整个application变量,比较长,可以只取最新的消息。这样可以改进数据交换的效率
2、因为application不能太大,否则服务器必定挂掉,所以只好设置长度限制,超过n条记录后自动删除之前的消息,自动维护application的长度,听起来似乎是个好消息,但客户端也只能保存n条记录-_-,完全可以把所有记录在客户端缓存嘛。

AnyFo - EricSofa EricSofa 开发背景 在开发B/S结构的系统时,由于有Tomcat这样的Web服务器作为中间件,独立承担网络处理的性能和安全等功能,所以,开发者只需要集中 开发业务逻辑,然后将它无缝的融合到Tomcat中就可以了。并且,在业务逻辑开发过程中,服务器不用反复重新启动,启动一次,就能够自动部署开发人员逐步开发出的代码,将 代码融合到服务器中,实现“热部署”。 正是Tomcat这样的中间件的存在,给全世界的的B/S结构的软件制造者企业们带来了低成本,高效率和高稳定性。 那么,开发C/S结构的系统呢?企业们在开发C/S结构的系统时,却需要花大量时间在服务器和客户端的网络处理和安全等功能上 ,作为系统灵魂的“业务逻辑代码”的开发时间,却被“网络处理代码”的开发时间占用了。 如果,有一种C/S结构的网络中间件,独立承担网络和安全性等的处理,并且能如同Tomcat那样实现开发过程中代码的热部署,那 么,就能像Tomcat一样,为全世界的C/S结构系统的开发带来低成本,高效率和高稳定性了。 因此,EricSofa应运而生,EricSofa正是这么一个专门用于C/S结构的网络服务器中间件。 EricSofa 简介 EricSofa是一个专门用于C/S结构的网络服务器中间件,它由软件组织AnyFo-Tech的总工程师安坤(Eric)在2006年3月用Java亲自设计和 开发而成,其版本至今仍在不断更新中。 正是由于Eric希望在这个服务器中间件的帮助下,所有的C/S结构服务器的开发者们都可以不用那么辛苦,而可以准时下班,回家躺在 自己的沙发上看“韦小宝”等等,那该多好啊,因此,这个中间件由Eric亲自取名为“EricSofa”。 EricSofa 功能概述 EricSofa通过上面的介绍,我们已经大概的了解了EricSofa的功能,那么总结一下,EricSofa拥有以下功能: 1. 实现了一个多用户并发,多任务并发的网络服务器,对网络处理的各个功能的代码和处理流程的代码都已经实现了,让EricSofa从功能上满足各种业务系统的需要,从而 最大程度的简化了C/S结构服务器程序的开发,极大的缩短了开发时间,为开发者企业带来了高效率 2. 对不同业务系统,服务器的性能细节要求不同的问题,而EricSofa则提供了无代码的纯配置方式,对服务器中适用到的Socket的各个参数和线程池的各个参数进行最小粒 度的调节,让EricSofa从性能上满足对各种业务系统的需要,从而为开发者企业带来了服务器程序的高适应性和高性能,并且又一次的缩短了性能开发和调试的时间 3. 在服务器网络处理流程的各个环节中,以事件机制提供了强大而方便的“环节扩展方案”,开发者能够轻松的针对这个方案中提供的各个接口,随意的扩展流程中的各个 环节,尤其是业务逻辑处理环节的扩展 4. 由于网络上需要传输各种数据类型,因此EricSofa提供了对一个统一的数据扩展接口,让用户能根据自己的系统需要让EricSofa能够传输任意类型的数据 5. 为了实现服务器中各种数据的共享,EricSofa提供了类似于Web服务器一样的“Application”与“Session”两片数据共享空间,开发者可以轻松的在自己的代码中使用这 两片空间进行服务器中的数据共享,为多线程程序中数据共享和安全的问题带来了很好的解决方案,很大程度的减少了共享代码的编写和调试时间 6. 为了开发方便,EricSofa实现了 “无插件的自动热部署”的功能,让开发人员在不用重启EricSofa的情况下,在自己的开发工具中编写代码,并实时而快速的将代码编译 后的文件自动的部署到EricSofa中,而开发工具完全不需要安装任何插件,从而再一次的简化了服务器的开发过程,又一次轻松的将企业对服务器的开发过程引入了快速开发领域 7. 并且,经过实践,我们统计到,如果基于EricSofa开发一个高性能,多用户多任务并发的聊天室服务器,对于一个只有1年Java开发经验但是没有Socket开发经验的工程师 来说,最多只需3小时。 8. EricSofa的产生,我们希望全中国乃至全世界的软件开发者企业在开发C/S结构的网络服务器时,能够因为EricSofa的到来,就像作者Eric(安坤)一样,下了班就可以坐 在自己家的Sofa上,看“韦小宝”了,这也是EricSofa这个名字的由来。
JSP是一种如日中天的新型Internet/Intranet开发语言,可以在多种操作系统平台和多种Web服务器下使用。本书从最基础的JSP开发开始,循序渐进地介绍了JSP 开发技术,并涵盖了许多高级主题,如需要在企业级Web应用中使用的特性—Enterprise JavaBeans、JDBC 2.0、数据库连接池和自定义标签库。本书既适合初学者阅读,也适合具有一定JSP基础的开发人员深入研究使用。 前 言 JSP是SUN公司推出的一种新型的Internet/Intranet开发语言,和前一代Internet/Intranet开发语言(ASP、PHP)相比,JSP在以下几个方面有了重大的突破: 1) 通过JSP的扩展标签库和JavaBeans功能,网站逻辑和网站界面可以完美地分离。 2) 使用Enterprise JavaBeans,可以轻松地在JSP开发的Web中实现事务、安全、会话等等企业级应用所需要的功能。 3) JDBC2.0提供了不同的数据库产品无关的数据库连接方式,更重要的是,数据库连接池提供了一种比普通的数据库连接方式效率高得多的连接方式。 JSP的语法基本上和Java是相同的,有Java基础的读者可以很快学会如何使用JSP,而没有Java语言基础的读者,只要循序渐进地阅读本书,一样可以成为JSP编程的高手。本书主要分为两个部分:第一部分为JSP基础部分。通过这一部分的学习,读者可以掌握JSP的基本使用方法,学会如何使虽JSP来开发一般的中、小型Web应用。这一部分使用常见的Apache Group的Tomcat作为JSP引擎的例子。第二部分为JSP高级应用部分。这一部分主要讲述如何使用JSP进行大型Web应用的开发,为了方便读者学习,本书还专门讲述了SUN公司的J2SDKEE和B趴公司的Webloglc应用服务器的基本使用方法。 JSP可以在各种操作系统和各种Web服务器下使用,其代码基本上不需要任何改动就可以使用。本书为了适应大多数读者的情况,使用了Windows操作系统作为例子,具体的试验平台如下: Windows 2000Advanced Server Apachel.3.14 Intemetln允rmation Server 5.0 Tomcat 3.1 J2SDKEE l.2 BEA Wiblogic 5.1 除了上述平台,书中的代码还在如下平台进行了测试: RedhatUnux 6.1 Apache l.3.12 TOmcat 3.1 BEA Weblogic 4.51 数据库系统主要使用了Microsoft SQL Server 7.0,部分代码使用了MySQL。作者 2000.11 前言 第一部分 JSP入门 第1章 概述 1.1 Java技术 1.1.1 Java技术的发展 1.1.2 JavaBeans 1.1.3 JDBC 1.1.4 J2EE 1.1.5 EJB 1.1.6 Java Servlet 1.2 JSP技术 1.2.1 JSP技术概述 1.2.2 JSP的优势及与其他Web开发工具的比较 1.3 JSP开发Web的几种主要方式 1.3.1 直接使用JSP 1.3.2 JSP+JavaBeans 1.3.3 JSP+JavaBeans+Servlet 1.3.4 J2EE开发模型 1.4 本书用到的软件及获取 第2章 预备知识 2.1 Java程序设计基础 2.1.1 Java语言规则 2.1.2 Java变量和函数 2.1.3 子类 2.1.4 this和super 2.1.5 类的类型 2.1.6 抽象类 2.1.7 接口 2.1.8 包 2.2 JavaBeans 2.2.1 JavaBeans的属性 2.2.2 JavaBeans的事件 2.2.3 持久化 2.2.4 用户化 2.3 Java Servlet 2.3.1 HTTP Servlet API 2.3.2 系统信息 2.3.3 传送HTML信息 2.4 SQL语言 2.4.1 SQL子类型 2.4.2 SQL语言的具体命令和使用 2.5 JDBC 2.5.1 什么是 JDBC 2.5.2 JDBC 产品 2.5.3 连接概述 2.5.5 一个简单的例子 第3章 JSP开发平台的建立:Tomcat 3.1 Tomcat的安装和直接使用 3.2 Tomcat和Apache的配合 3.3 Tomcat和IIS的配合 3.4 Tomcat的配置和常见问题 3.4.1 Tomcat的主配置文件:server.xml 3.4.2 Windows下代码保护的问题 3.4.3 Apache、IIS和Tomcat协作时工作 目录的添加 3.4.4 设定Tomcat作为Windows的服务而启动 3.4.5 在Tomcat中建立新的Web应用程序 第4章 JSP的语法和语义 4.1 通用的语法规则 4.1.1 元素的语法规则 4.1.2 JSP中的相对路径 4.2 注释 4.3 指令 4.3.1 page指令 4.3.2 include指令 4.3.3 taglib指令 4.4 内置对象 4.5 脚本元素 4.5.1 声明 4.5.2 表达式 4.5.3 脚本代码 4.6 动作 4.6.1 id和scope属性 4.6.2 标准动作 第5章 作为XML的JSP 5.1 为什么要使用XML相容的语法形式 5.2 关于文本类型的语法 5.2.1 jsp:root元素 5.2.2 公共标识符 5.3 指令 5.3.1 page指令 5.3.2 include指令 5.3.1 taglib指令 5.4 脚本元素 5.4.1 声明 5.4.2 脚本代码 5.4.3 表达式 5.5 如何将一个普通的JSP文件转换为一个XML 文档 5.6 JSP1.1的DTD文件 第6章 JSP基础实例 6.1 第一个JSP程序—HelloWorld! 6.2 注释的使用 6.3 脚本元素 6.3.1 声明 6.3.2 表达式 6.3.3 脚本代码 6.4 page指令 6.4.1 import 6.4.2 session 6.4.3 错误处理 6.5 包含其他文件 6.6 使用JavaBean 6.7 内置对象 6.7.1 用request对象获取客户端的数据 6.7.2 用response对象向客户端发送信息 6.7.3 其他内置对象 6.8 6.9 使用插件 6.10 使用session对象 6.10.1 会话的概念 6.10.2 session对象可用的方法和属性 6.10.3 session对象的基本例子 6.10.4 利用session制作一个购物车 6.10.5 JavaBeans的作用域 6.10.6 利用JavaBeans制作的购物车 6.11 使用application对象 6.11.1 应用的概念 6.11.2 application对象可用的方法和属性 6.11.3 application对象内包含的系统信息 6.11.4 利用application建立一个简单的聊天室 第7章 用JSP实现常见的Web应用 7.1 常见的Web应用及分析 7.1.1 留言板、论坛和社区 7.1.2 聊天室 7.1.3 搜索引擎 7.1.4 电子商务 7.1.6 后台管理系统 7.2 留言板 7.2.1 功能分析 7.2.2 功能实现和技术要点 7.2.3 代码和分析 7.3 进一步完善的留言板 7.3.1 功能分析 7.3.2 功能实现和技术要点 7.3.3 代码和分析 7.4 聊天室 7.4.1 功能实现和技术要点 7.4.2 代码和分析 7.5 下一步 第二部分 高级JSP技术 第8章 JSP开发平台的搭建:J2EE 8.1 J2SDKEE的安装和使用 8.1.1 软硬件的支持 8.1.2 安装 8.2 J2SDKEE的配置 8.2.1 JDBC的配置 8.2.2 事务处理 8.2.3 服务的端口号 8.2.4 日志文件 8.2.5 安全 8.2.6 钝化发生的内存极限 8.2.7 JNDI服务器主机 8.2.8 HTTP服务的发布目录 8.3 WebLogic的安装和使用 8.3.1 软硬件要求 8.3.2 安装和启动 8.4 WebLogic的配置 8.4.1 系统级参数的设置 8.4.2 将WebLogic作为HTTP服务器使用 8.4.3 使用ISAPI桥连接WebLogic和IIS 8.4.4 WebLogic配置示例 第9章 扩展JSP标签 9.1 概述 9.1.1 扩展标签的作用 9.1.2 如何开发扩展标签 9.1.3 简单的扩展标签 9.1.4 包含内容处理的扩展标签 9.1.5 能够协作的扩展标签 9.1.6 定义了脚本变量的扩展标签 9.2 标签处理类的开发 9.2.1 接口和基类 9.2.2 开发 9.3 标签库文件 9.3.1 taglib 9.3.2 tag 9.4 定位一个tld文件 9.4.1 在Web.xml中定位一个tld文件 9.4.2 直接在JSP文件中定位tld文件 9.5 扩展标签实例 9.5.1 得到父标签的数据 9.5.2 TestTag类 9.5.3 Title类 9.5.4 Data类 9.5.5 TLD文件 9.5.6 在JSP中使用扩展标签 第10章 Enterprise JavaBeans 10.1 Java服务器端组件标准—EJB 10.1.1 EJB和JavaBeans 10.1.2 EJB的开发与使用中的角色 10.2 Session Bean 10.2.1 Session Bean的状态管理模式 10.2.2 Session Bean的生命周期 10.3 Entity Bean 10.3.1 Entity Bean的特性 10.3.2 Entity Bean的生命周期 10.4 EJB的开发 10.4.1 Enterprise JavaBeans的实际处理文件 10.4.2 实现EJBObject文件 10.4.3 实现EJBHome文件 10.4.4 生成ejb-jar.xml文件 10.4.5 打包生成JAR文件 10.5 EJB的部署—J2SDKEE 10.5.1 使用deploytool打包EJB 10.5.2 使用deploytol部署EJB 10.6 EJB的部署—BEA WebLogic 10.6.1 生成可部署的ejb-jar包 10.6.2 部署WbLogic的ejb-jar包 10.7 使用EJB 10.7.1 本地访问EJB 10.7.2 远程访问EJB 10.8 JSP和EJB 10.9 EJB开发实例—电子商务应用 10.9.1 EJB的实现文件—TestCartEJB 10.9.2 实现Home接口TestCartHome 10.9.3 实现远程Object接口TestCart 10.9.4 EJB的Web组件TestCartWebImp 10.9.5 JSP文件 10.9.6 实例的内部运行逻辑 第11章 其他高级功能 11.1 JDBC2.0和JDBC数据库连接池 11.1.1 JDBC2.0新功能概述 11.1.2 结果集增强功能 11.1.3 批处理更新 11.1.4 对Java对象的持久性 11.1.5 数据库连接池使用实例 11.2 文件上载 11.2.1 实现机理 11.2.2 文件上载实例 第12章 JSP高级应用实例:网上书店 12.1 概述 12.2 扩展标签的使用 12.2.1 数据集作用的BookList标签 12.2.2 让数据循环输出的Books标签 12.2.3 输出数据的标签 12.2.4 控制页面前进、后退的标签 12.2.5 测试标签 12.3 EJB及其Web组件 12.3.1 ShoppingCart 12.3.2 Books 附录A JSP应用实例:网上教育代码 附录B JavaServer Pages白皮书 附录C 常用JSP相关网址

110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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