Hello World
Spiga

AJAX培训第三讲:开发一个简单的AJAX聊天室

2006-12-06 03:37 by 老赵, 9105 visits
  点击这里下载PDF文件。
点击这里下载示例文件。
点击这里下载视频文件。

这次的内容是开发一个AJAX聊天室,目的是让大家略为巩固一下前两次所讲的AJAX常用的基础知识。不过这个聊天室的功能是再简单不过了,这点我在视频中也多次强调。

这次的录制是一个尝试,因为我想以后的录制过程中加大“示例”甚至于“Hands on Lab”的比例,不过对于现在这种从头至尾几乎连每一个文件的创建过程都一一演示的做法,在现在录制方式(Captivate是一帧一帧录制的,而每一帧的录制时刻不好把握)和录制条件(机器还是比较卡,更加增大了录制的困难)下都是很大的挑战,这次的尝试结果不容乐观,影片的体积变得比较大(这次几乎已经达到了20M),因此这个录制方式和技巧还要进一步的尝试。

事实上还有别的原因使这次录制结果不太好。我本来准备在周二录制完毕,没想到因为朋友“忽然”过生日,导致我只有一点点的“清静”时间可以录制讲座,在录制了一段时间之后就不得不停了下来。从朋友的饭桌上回来之后,我直接杀奔公司,总算找到了一个安静的工作环境。因此大家可以很明显地在视频中发现录制环境的区别:突然从某一时刻开始声音变响了,回音变大了,因为我在公司找了个小房间关上门以后把剩余的部分录制完毕。再加上我今天有些感冒,因此声音总是不自觉地有气无力起来。还有不知道是我机器上新版本的Captivate有问题,还是我还不太会用,我在后期修修补补时总是不太顺利,因此这次的视频会有比较大剪辑痕迹。总总这些只能请大家多多包涵了,我以后会有改进。

不过也有好消息,在我为可怜的笔记本加了1G内存,并换上了新版本的Captivate之后,整个录制过程“前所未有”地一次也没有崩溃过,编辑时的响应速度也快了许多,不再有3分钟的打开保存时间,每点击一下都要等3到5秒才有反应的状况出现了。这种“卓越”的体验让我多少看到了点希望——不是反语,不是讽刺,是真的,不过明显是“相对”之前所得到的感受。

最后还是老话:如果大家对于讲座的内容有任何疑问,请在Q & A专用文章里进行提问,当然如果您有其它任何疑问的话,也能在那里提出,我会尽快为您解答。而且现在又多了一个讨论的地方:大家可以点击这里访问“博客园AJAX交流”组,不过我更喜欢把它当作一个Mail List使用。:)

已经说了太多的废话,下面就是这次录制的结果。我也该睡了,似乎今天我已经和地球那端的同事“无时差”工作了太长时间了……

多谢大家支持。

Creative Commons License

本文基于署名 2.5 中国大陆许可协议发布,欢迎转载,演绎或用于商业目的,但是必须保留本文的署名赵劼(包含链接),具体操作方式可参考此处。如您有任何疑问或者授权方面的协商,请给我留言

Add your comment

73 条回复

  1. 老赵
    admin
    链接

    老赵 2006-12-06 03:46:00

    我在Vista下用IE7,在添加Flash时改变大小的话,IE总是崩溃。好像IE7和博客园过不去,总是在浏览园子的时候出问题,平时都好好的。最后还是用FireFox才编辑了这篇文章。

  2. 水源
    *.*.*.*
    链接

    水源 2006-12-06 08:33:00

    支持!又有新的教程了 学习 谢谢

  3. YaoTong
    *.*.*.*
    链接

    YaoTong 2006-12-06 08:48:00

    竟然在凌晨发,害得我只能坐地板了

  4. 小镇姑娘她爹
    *.*.*.*
    链接

    小镇姑娘她爹 2006-12-06 08:57:00

    这次很快啊,加油,期待已久!

  5. 小镇姑娘她爹
    *.*.*.*
    链接

    小镇姑娘她爹 2006-12-06 09:04:00

    这次为什么没有flash的下载啊?我想下载下来慢慢看啊

  6. Beginor
    *.*.*.*
    链接

    Beginor 2006-12-06 09:13:00

    博主的程序需要好好检查一下了,我下载下来试用了一下,很快2G的内存被耗干了,只得重启IIS.

    两个用户登录,一个用localhost,另一个用机器名在另外一台机器上登录.

    而且你的程序好像在IE7下不工作

  7. 老赵
    admin
    链接

    老赵 2006-12-06 09:38:00

    @YaoTong
    迫不得已:(

  8. 老赵
    admin
    链接

    老赵 2006-12-06 09:38:00

    @小镇姑娘她爹
    一会儿就有了:)

  9. 老赵
    admin
    链接

    老赵 2006-12-06 09:38:00

    @水源
    多谢支持。:)

  10. seamusic[匿名][未注册用户]
    *.*.*.*
    链接

    seamusic[匿名][未注册用户] 2006-12-06 09:48:00

    现在什么板都坐了~
    博主真是太辛苦你了...

  11. 老赵
    admin
    链接

    老赵 2006-12-06 09:49:00

    @Beginor
    为什么会有这个情况阿?我的开发环境的确是XP SP2+IE6,但是刚才在Vista+IE7下看上去没有内存泄露问题(内存使用没有上升趋势,一会儿不用也会下降),使用也完全正常啊。而且一个简单的小程序消耗掉那么多资源也有些不可思议……

  12. 老赵
    admin
    链接

    老赵 2006-12-06 09:50:00

    @seamusic[匿名]
    板?这是什么意思啊?

  13. 随心所欲
    *.*.*.*
    链接

    随心所欲 2006-12-06 10:06:00

    翻译,还是原创?
    不错

  14. 老赵
    admin
    链接

    老赵 2006-12-06 10:12:00

    @随心所欲
    完全原创:)
    // 不过没有花很多心思在程序上……

  15. 小镇姑娘她爹
    *.*.*.*
    链接

    小镇姑娘她爹 2006-12-06 10:26:00

    到底是写程序的高手啊,注释都是用//的,哈哈

  16. Cat Chen
    *.*.*.*
    链接

    Cat Chen 2006-12-06 11:33:00

    Captivate可以设置一个按钮主动录制当前画面,这通常用于它自动录制无法识别当前画面变化的情况。

  17. yunhuasheng
    *.*.*.*
    链接

    yunhuasheng 2006-12-06 11:49:00

    支持,谢谢!!

  18. 老赵
    admin
    链接

    老赵 2006-12-06 12:03:00

    @小镇姑娘她爹
    因为用/**/的话就复杂了,呵呵

  19. 老赵
    admin
    链接

    老赵 2006-12-06 12:03:00

    @小镇姑娘她爹
    因为用/**/的话就复杂了,呵呵

  20. 老赵
    admin
    链接

    老赵 2006-12-06 12:04:00

    @Cat Chen
    但是比较难以判断这一帧是不是录了……

  21. 老赵
    admin
    链接

    老赵 2006-12-06 12:05:00

    @yunhuasheng
    多些支持。:)

  22. GASSNAKE[未注册用户]
    *.*.*.*
    链接

    GASSNAKE[未注册用户] 2006-12-06 12:10:00

    怎么flash还没有下载链接?

  23. 老赵
    admin
    链接

    老赵 2006-12-06 12:38:00

    @GASSNAKE
    最晚今天晚上会有链接。:)

  24. 阿一
    *.*.*.*
    链接

    阿一 2006-12-06 13:13:00

    关注ing....

  25. 老赵
    admin
    链接

    老赵 2006-12-06 13:21:00

    @阿一
    :)

  26. 老赵
    admin
    链接

    老赵 2006-12-06 18:24:00

    下载链接已经发布了。

  27. sunhai[未注册用户]
    *.*.*.*
    链接

    sunhai[未注册用户] 2006-12-06 18:58:00

    SWF 无法下载

  28. 老赵
    admin
    链接

    老赵 2006-12-06 19:14:00

    @sunhai
    现在呢?

  29. Favory[未注册用户]
    *.*.*.*
    链接

    Favory[未注册用户] 2006-12-06 19:48:00

    好东西!兄弟辛苦啦!下个先!

  30. 老赵
    admin
    链接

    老赵 2006-12-06 20:12:00

    @Favory
    多谢。:)
    // 虽然我对这次其实不是很满意……

  31. sunhai[未注册用户]
    *.*.*.*
    链接

    sunhai[未注册用户] 2006-12-06 20:32:00

    @Jeffrey Zhao

    现在可以下了.

    多谢

  32. 老赵
    admin
    链接

    老赵 2006-12-06 20:48:00

    @sunhai
    不客气。:)

  33. Cat Chen
    *.*.*.*
    链接

    Cat Chen 2006-12-07 01:24:00

    @Jeffrey Zhao
    每录一格都有一次快门声音啊,通过这个你可以粗略判断它录了什么。

  34. 老赵
    admin
    链接

    老赵 2006-12-07 12:15:00

    @Cat Chen
    我把它关掉了……下次打开试试看。

  35. longer[未注册用户]
    *.*.*.*
    链接

    longer[未注册用户] 2006-12-07 20:58:00

    ''视频同步问题太严重!支持你!

  36. 老赵
    admin
    链接

    老赵 2006-12-07 21:03:00

    @longer
    什么叫做视频同步问题?

  37. 布尔
    *.*.*.*
    链接

    布尔 2006-12-09 00:11:00

    很不建议把flash嵌到页面上,反正能下载嘛,这样不好

  38. 老赵
    admin
    链接

    老赵 2006-12-09 01:08:00

    @布尔
    不会自动播放的,感觉还可以吧。:)

  39. Yakelsey[未注册用户]
    *.*.*.*
    链接

    Yakelsey[未注册用户] 2006-12-12 23:57:00

    看完了你的三节课,让我学到了很多;
    非常感谢

  40. 老赵
    admin
    链接

    老赵 2006-12-13 01:03:00

    @Yakelsey
    谢谢支持。:)

  41. 海龙[未注册用户]
    *.*.*.*
    链接

    海龙[未注册用户] 2006-12-15 00:11:00

    你好,你讲的非常好,尤其体现了面向对象的。如果赵老师看到我的评论,请回复我的邮箱hailong.net.vs@hotmail.com

  42. 老赵
    admin
    链接

    老赵 2006-12-15 00:14:00

    @海龙
    这……哪里有面向对象阿?

  43. 海龙[未注册用户]
    *.*.*.*
    链接

    海龙[未注册用户] 2006-12-18 06:18:00

    赵老师,你好,也许我理解错了。不过你能把用户,消息,房间都写成一个类,的确对我影响很大,我给你回了一封邮件,你也可以回复我hailong.net.vs@hotmail.com赵老师你用msn或者qq吗?可以发到我邮箱里,我想在网上和你视频聊聊。我有很多问题要问你?不过,绝对不会干扰你的生活。

  44. 老赵
    admin
    链接

    老赵 2006-12-18 09:48:00

    @海龙
    没问题。:)

  45. 海龙[未注册用户]
    *.*.*.*
    链接

    海龙[未注册用户] 2006-12-22 07:15:00

    (:你好,赵老师,不知道我能不能说的明白(希望您能多讲一些此类的例子,仿佛面向对象的程度体现的很好,你能把用户,消息,房间都写成类封装的很好,不过对于从(vb,c)语言开始学习(C#,JAVA)的学生来说,从编程思想上来说的确是一个大的转变,尤其我以前学习Asp,现在学习Asp.net,我感觉除了好多便利的控件和事件驱动的优点之外,还是以前的编程思维,没有用到面向对象思想,也不知道怎么用,总感觉对于功能强大的Asp.Net来说,自己并没用把它的精华吸取了,再说现在的一些视频教程或者文章,也没有像你这样讲的好的,他们仿佛没有体现面向对象,仿佛只用了c#的语法而已,不知道你对Jsp怎么样,我看过一些视频教程,里面对于面向对象也体现的非常好。我觉的应该学习这种思想。。:)
    ----------------------------------------------------
    hailong.net.vs@hotmail.com
    ---------------------------------------
    海龙,msn:hailong.net.vs@hotmail.com
    -------------------------------
    QQ:649993324
    祝您健康,合家欢乐,心想事成。

  46. 老赵
    admin
    链接

    老赵 2006-12-22 09:13:00

    @海龙
    多谢您的建议。:)

  47. 海龙[未注册用户]
    *.*.*.*
    链接

    海龙[未注册用户] 2006-12-23 10:57:00

    赵老师,你好,你给我回的邮件为什么是乱码,我海龙
    ----------------------------------------------
    hailong.net.vs@hotmail.com

  48. 老赵
    admin
    链接

    老赵 2006-12-23 11:51:00

    @海龙
    您是否用了Outlook?

  49. 海龙[未注册用户]
    *.*.*.*
    链接

    海龙[未注册用户] 2006-12-24 05:38:00

    没有,我用的是hotmail发送的
    ----------------------------------------
    hailong.net.vs@hotmail.com

  50. 海龙[未注册用户]
    *.*.*.*
    链接

    海龙[未注册用户] 2006-12-24 06:23:00

    赵老师,能不能加入一些密聊功能呢?

  51. 老赵
    admin
    链接

    老赵 2006-12-24 23:01:00

    @海龙
    那我就不知道了……:(

  52. 老赵
    admin
    链接

    老赵 2006-12-24 23:02:00

    @海龙
    当然可以,您可以自己想办法实现一下,功能都是人作出来的。:)

  53. 海龙[未注册用户]
    *.*.*.*
    链接

    海龙[未注册用户] 2006-12-25 19:37:00

    赵老师,我郁闷透了,我给你发的邮件是不是也是乱码,你给我回的也是乱码,我不知道为什么,密聊功能我的确做不出来,请指点迷津。

  54. 海龙[未注册用户]
    *.*.*.*
    链接

    海龙[未注册用户] 2006-12-25 19:48:00

    你好,我发现都是我给你发的留言了。

  55. 老赵
    admin
    链接

    老赵 2006-12-25 21:40:00

    @海龙
    我也不知道该如何“指点迷津”,因为这需要些互动。
    这样,您把您的想法说出来,我们一点点来,比如,您需要制作什么样的功能?先把它具体化一下。:)

  56. 老赵
    admin
    链接

    老赵 2006-12-25 21:40:00

    @海龙
    没事。:)

  57. 海龙[未注册用户]
    *.*.*.*
    链接

    海龙[未注册用户] 2006-12-26 19:30:00

    我的意思是说,比如有A,B两个用户登陆了聊天室,那么A可以向B发送一些信息,而其他人看不到。是不是用session纪录用户名,然后将私聊信息都存在一个数组中,比如siliao[],数组下标为usename,值为私聊内容,根据siliao[session("usename")]的到usename的私聊信息。

  58. 老赵
    admin
    链接

    老赵 2006-12-26 20:09:00

    @海龙
    这个方法虽然不太好,但是的确可行,您可以尝试一下。:)

  59. wuchanjieji[未注册用户]
    *.*.*.*
    链接

    wuchanjieji[未注册用户] 2006-12-30 15:35:00

    老赵,播放你的flash教程好耗资源啊,我的1G内存都给耗尽了,汗!能找一下是什么原因吗?前面录的还能勉强看,第三讲根本就没法看,就僵死在那里,CPU利用率100%
    期待改过

  60. 老赵
    admin
    链接

    老赵 2006-12-30 17:14:00

    @wuchanjieji
    哎,好像别人都没有这个问题哎……

  61. c[匿名][未注册用户]
    *.*.*.*
    链接

    c[匿名][未注册用户] 2007-01-09 13:50:00

    有没有第四讲的??

  62. 老赵
    admin
    链接

    老赵 2007-01-09 15:26:00

    @c[匿名]
    Sorry,我接下来一直比较忙。:(

  63. 随风流月
    *.*.*.*
    链接

    随风流月 2007-02-12 14:29:00

    闭学式刚结束,中午就看到这篇文章。受益匪浅。
    以前用 Atlas,最近荒废了一段,从头学起。
    (P.S:我还在初一)

  64. 老赵
    admin
    链接

    老赵 2007-02-12 15:24:00

    @随风流月
    相当的年轻啊!:)

  65. JesseZhao
    *.*.*.*
    链接

    JesseZhao 2007-02-25 09:18:00

    看看

  66. 老赵
    admin
    链接

    老赵 2007-02-25 18:46:00

    @JesseZhao
    :)

  67. MIKE[未注册用户]
    *.*.*.*
    链接

    MIKE[未注册用户] 2007-03-17 14:47:00

    辛苦了,老赵!还有下一课吗

  68. 老赵
    admin
    链接

    老赵 2007-03-17 15:11:00

    @MIKE
    没有了:)

  69. 火[未注册用户]
    *.*.*.*
    链接

    火[未注册用户] 2007-03-20 08:39:00

    支持一下强人,收藏!

  70. ToBin
    *.*.*.*
    链接

    ToBin 2007-12-05 08:50:00

    值得关注,我给楼主提个意见,那就是把聊天室写好,在以后的视频中逐渐完善.
    等你课程讲完了,聊天室也就完工了 。
    聊天室比较典型,用到了很多持久化数据层!

  71. 张波sun
    *.*.*.*
    链接

    张波sun 2008-06-21 22:33:00

    好东西啊

  72. 无家泥[未注册用户]
    *.*.*.*
    链接

    无家泥[未注册用户] 2008-10-01 23:48:00

    老赵大哥,视频下载不了了,能给我发一份吗 ,谢谢!

  73. 小仙哥哥[未注册用户]
    *.*.*.*
    链接

    小仙哥哥[未注册用户] 2009-04-05 14:27:00

    看了以后,进步了,谢了,老师!!!

发表回复

登录 / 登录并记住我 ,登陆后便可删除或修改已发表的评论 (请注意保留评论内容)

昵称:(必填)

邮箱:(必填,仅用于Gavatar

主页:(可选)

评论内容(大于5个字符):

  1. Your Name yyyy-MM-dd HH:mm:ss

使用Live Messenger联系我