S shopman Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-24 #1 能在网上找到的现成聊天室一定是PERL写的CGI,更不用说是ISAPI了而我近 来又需要聊天室所以取其鱼不如取其渔,但是又不知如何手所以……
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-24 #2 主要原理是分2个frame,一个显示发言,一个和用户交互. 当用户按"发言按钮",将输入的发言提交给一个cgi/isapi, cgi将发言添加 到全体发言的后面(或前面?),然后将全体发言返回给浏览器. 注意,这个cgi的target是用来显示发言的那个frame. 至于全体的发言,可以保存到文本文件或用其他什么方法.
主要原理是分2个frame,一个显示发言,一个和用户交互. 当用户按"发言按钮",将输入的发言提交给一个cgi/isapi, cgi将发言添加 到全体发言的后面(或前面?),然后将全体发言返回给浏览器. 注意,这个cgi的target是用来显示发言的那个frame. 至于全体的发言,可以保存到文本文件或用其他什么方法.
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-27 #4 在html的调用语句里面: <form name="chatroom" action="cgi-bin/xxx.exe" target="frame_for_showmessage">
S shopman Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-28 #5 聊天室涉及到网页的刷新问题,目前我只能在网页中加入一个方法定时刷新是否有更 好的法子?
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-28 #6 to shopman:在你的html前面加上下面语句: <meta http-equiv="Refresh" content="n;http://www.xxx.com/index.htm"> 其中,n改成你需要刷新的频率(秒),xxx改成当前页的url "更好的法子"是指什么? 目前的聊天室基本都是定时刷新的,不过 实现方法不同而已,有的是通过html语法(比如我的方法),有的是 通过javascript的setTimeout函数,有的用IETimer ActiveX控件. 但是殊途同归,原理都是"定时刷新".
to shopman:在你的html前面加上下面语句: <meta http-equiv="Refresh" content="n;http://www.xxx.com/index.htm"> 其中,n改成你需要刷新的频率(秒),xxx改成当前页的url "更好的法子"是指什么? 目前的聊天室基本都是定时刷新的,不过 实现方法不同而已,有的是通过html语法(比如我的方法),有的是 通过javascript的setTimeout函数,有的用IETimer ActiveX控件. 但是殊途同归,原理都是"定时刷新".
S shopman Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #7 "更好的法子":我的想法用CGI控制浏揽器地刷新,行吗?
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #8 绝对不可能! 看来你没了解CGI的工作原理. 1.CGI工作在server端,无法影响到客户端的效果; 2.CGI运行完毕(指返回数据给浏览器)后即被释放,根本不可能有什么定时之类 继续影响客户端.
Y youtoo Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #9 编写聊天程序还要看你的运行平台。基于UNIX的用Perl就很不错。用普通CGI的话一定要注意你的资源是否能对付很多进程数,用ISAPI就好些。还是先找些PERL的程序先看看吧。我看过一个PERL程序。里面实际还用了不止一个的辅助程序。
编写聊天程序还要看你的运行平台。基于UNIX的用Perl就很不错。用普通CGI的话一定要注意你的资源是否能对付很多进程数,用ISAPI就好些。还是先找些PERL的程序先看看吧。我看过一个PERL程序。里面实际还用了不止一个的辅助程序。
S shopman Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #10 例如: A,B,C,三用户,A发言后CGI程序返回内容,这时B,C两个用户不能看见A发的言. 一 般作法是等待B,C两个用户自已定时刷新浏缆器才能看见A的发言,我想说的是CGI 被A执行后首先获得当前在线用户信息,然后向所有用户发出一个刷新浏缆器的信息 这样只有用户发言时才刷新更科学些。 cakk兄这样算不算“影响到客户端的效果”如果是的话我也只有用定时刷新了. 多谢您的指点!
例如: A,B,C,三用户,A发言后CGI程序返回内容,这时B,C两个用户不能看见A发的言. 一 般作法是等待B,C两个用户自已定时刷新浏缆器才能看见A的发言,我想说的是CGI 被A执行后首先获得当前在线用户信息,然后向所有用户发出一个刷新浏缆器的信息 这样只有用户发言时才刷新更科学些。 cakk兄这样算不算“影响到客户端的效果”如果是的话我也只有用定时刷新了. 多谢您的指点!
C cAkk Unregistered / Unconfirmed GUEST, unregistred user! 1999-09-29 #11 你的想法很不错,很多人也这么想过,可是不现实. 因为从本质上来说,CGI是被动执行的,只有被浏览器调用才发生作用, 根本不可能"主动"向浏览器发消息! 如果真有什么技术能实现你的想法, 它一定不会是CGI.
你的想法很不错,很多人也这么想过,可是不现实. 因为从本质上来说,CGI是被动执行的,只有被浏览器调用才发生作用, 根本不可能"主动"向浏览器发消息! 如果真有什么技术能实现你的想法, 它一定不会是CGI.