老尸 发表于 2015-1-16 23:32:37

ASP网页设计完成谈天室的悄然话功能(中)(转贴)...

缺乏可以共同遵循的行业标准,ASP还处在发展初期,大家对它的理解不同,如产品和服务标准,收费标准等,不利于行业的健康发展。谈天室谈天室程序是一个application和session工具分离性很强的asp程序。起首,它对照具有及时性,谈天速率太慢,那末没有人会喜好的,并且在多人同时讲话的时侯,假如程序处置欠好,那末不免会产生张官李戴的征象,好比申明明张三说的话在先。李四说的话在后,但显现出来的了局倒是倒转了。另有就是每一个客户端显现的发言内容分歧步。(这里夸大一点,谈天室的发言内容主动更新体例次要是两种,一种是服务器主动更新,也就是它的谈天显现内容区是一个正在翻开中的html流,每当服务器吸收到用户的发言内容就会发送到用户的扫瞄器中。另外一种是用户端准时向服务器端收回更新哀求。后者的及时性没前者强。但制造起来复杂,要完成服务器端主动更新,光靠asp是没法完成的。由于ASP没有内置的延时功效。如今所举例的谈天室次要是今后者来讲明的,但办法一样能够前者里利用)
  要办理多个用户同时讲话和显现的按次成绩,那末就必需为发言内容创建一个缓冲区,就好象操纵体系的键盘缓冲区的功效一样,即便体系正在忙于处置其余义务,但仍是能够正确地承受用户输出。
  下面的程序例子:
dimchats(20)
forn=1to20
chats(n)=application("chats")(n)
next
  就是创建了一个20个元素的chats数组,那末只必要再创建一个全局公用的计数器(用application工具来保留),用以唆使以后最新的讲话内容是在那一个元素傍边。而每一个用户又界说一个session工具的计数器。用以纪录以后谈天者本机显现的信息是显现到那一条发言纪录上。二者之差的发言内容都必需鄙人一次更新措辞内容的时侯显现出来。
  chats数组作为一个发言缓冲区,是必要轮回利用的。好比第一句讲话的保留在chats(1)中,第二十句则保留在chats(20)中,而第二十一句则从头利用chats(1)来保留,而把第一句的内容掩盖失落。而chats数组只是用于处置大众的发言内容。也就是否是“悄然话”假如把悄然话也作为一条新的信息保留在这里,那末就会影响的计数器了。由于关于非悄然话的谈天工具来讲。这句话是偶然义的。为了削减前提判别,就把悄然话别的用application("chat")这个使用工具变量来保留。在悄然话的处置用,小虎并没有利用缓冲区,因而当统一谈天室内多个网友同时利用悄然话功效时,便可能呈现有的悄然话在没被显现出来之前,被遗漏的弱点,人人无妨能够发扬本人的伶俐往改善一下哦:)
  当处置完chats的对话内容后。必需把它从头存储到application("chats")(n)这个全局的发言缓冲区中,那样才干让一切用户共享对话内容。
  上面是对私语的发言处置
私语处置
application("chat")="《fontcolor=blue》"&usertime&"《/font》《fontcolor=black》"&username&"《/font》《i》悄然地对《fontcolor=#00bb00》"&request.FORM("whoto")&"《/font》私语《/i》:《fontcolor=#0000aa》"&usersays&"《/font》《BR》《BR》"
对谁说
application("chatto")=request.FORM("whoto")
措辞的人
application("owner")=username
session("chat")="true"
endif

  session("chat")是一个用来纪录用户是不是有悄然话的标志,当更新对话内容的时分,就经由过程判别这个标志来判别是不是有悄然话发生。同时。经由过程applicaton("chat")纪录对话内容,applicaton("chatto")悄然话的工具,application("owner")保留讲话者自己(别忘了悄然话是本人和承受悄然话的对方能够瞥见的哦:(,另有,当对ALL(一切人)发悄然话时,人人都应能瞥见这句瞧瞧话。
  当讲话内容都分离进进了application("chats")(n)和applicaton("chat")这两个发言缓冲区后。下一步要做的就是显现出对话内容了。这里先向人人提一下怎样完成谈天事的准时革新(客户端自动)
  在我们的html文件的头有一个如许的标志
  《metahttp-equiv="refresh"content="2.5"》
  这里示了html文档的更新类行,下面这个标志就是把本文档按2.5秒的速率不休主动革新,那末使用这一点,就能够完成主动更新对话内容了。我们利用的显现对话的asp文件名为top.asp。下一节人人一同来看看它的布局。
</p>ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。

因胸联盟 发表于 2015-1-20 09:47:58

运用经典的例子。并且自己可以用他来实现一些简单的系统。如果可以对他进行进一步的修改,找出你觉得可以提高性能的地方,加上自己的设计,那就更上一个层次了,也就会真正地感到有所收获。

只想知道 发表于 2015-1-21 11:33:31

封装性使得代码逻辑清晰,易于管理,并且应用到ASP.Net上就可以使业务逻辑和Html页面分离,这样无论页面原型如何改变,业务逻辑代码都不必做任何改动;继承性和多态性使得代码的可重用性大大提高。

小魔女 发表于 2015-1-27 21:53:52

还有如何才能在最短的时间内学完?我每天可以有效学习2小时,双休日4小时。

小女巫 发表于 2015-2-3 21:10:55

掌握asp的特性而且一定要知道为什么。

简单生活 发表于 2015-2-9 05:11:05

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。

谁可相欹 发表于 2015-2-27 00:23:00

你可以通过继承已有的对象最大限度保护你以前的投资。并且C#和C++、Java一样提供了完善的调试/纠错体系。

愤怒的大鸟 发表于 2015-3-8 18:42:12

我认为比较好的方法是找一些比较经典的例子,每个例子比较集中一种编程思想而设计的。

飘灵儿 发表于 2015-3-16 10:49:48

接下来就不能纸上谈兵了,最好的方法其实是实践。实践,只能算是让你掌握语言特性用的。而提倡做实际的Project也不是太好,因为你还没有熟练的能力去综合各种技术,这样只能使你自己越来越迷糊。

小妖女 发表于 2015-3-22 22:18:41

我可以结合自己的经验大致给你说一说,希望对你有所帮助,少走些弯路。
页: [1]
查看完整版本: ASP网页设计完成谈天室的悄然话功效(中)(转贴)...