网站 留言怎么及时通知到 方法

作者&投稿:祗削 (若有异议请与网页底部的电邮联系)
社交网站上的及时提醒都是怎么实现的~

看一下下面这篇文章,也许能给你一点提示吧~
----------------------------------------------

1.前提是不用定时器轮询机制,利用ajax+java servlet监听器。我是这么想的。ajax只能用于一个客户端和服务器的通信,因为它的传递载体是request和response,如果想达到客户端A和客户端B的实时提醒效果,是不可能的。所以,我是这么想的,如果有两个客户端A和B,首先,A和B都要向用于监听器的那个页面发送ajax请求,如果B发给A一个留言,那么点击发送按钮的同时,用一种方式产生一个监听器能够监听的事件,然后当监听器的监听事件响应之后,再根据发送对象,向发送对象发出ajax的response响应。

但是这个是不可能的。有这么几个问题可以毁灭我的上面的想法:首先,一个servlet相当于一个类,每一个客户端都能得到这个servlet的实例。也就是说A和B向那个监听器发送ajax请求,实际上是向各自的servlet实例去请求,那么某个servlet实例无法看到不属于自己的客户端发出的ajax请求。其次,我知识浅薄,目前认为“再根据发送对象,向发送对象发出ajax的response响应。”这句话不可能,ajax对象的创建,找来找去就是那几句代码,用js可以用一个var ajax[]=。。。来存储这些对象,然后可以遍历这些对象,但是用java呢?要想根据这些对象,首先要将js创建的这些ajax对象能够用java语言取出来,然后放到集合里面或数组里面,但是ajax对象是属于什么基本类型呢?你定义的这个数组或是集合总要有个类型才能存放 xmlhttprequest这个activobject啊,同时,就算可以有一种方法将这些对象搜集到一起,但是,怎么把它们放到 application对象中?因为application对象里面的东西在任何客户端都能看见,这是必要的。或者说,一个普通的网页请求,无论get还是post,能传递一个xmlhttprequest作为请求页面的参数吗?然后再在请求页面用request.getParameter()访问?我不会。

2.上面的设想我否定掉了,下面的想法是基于ocx的,我想,用C++编写一个聊天程序,可以用socket编程啊,然后将这个类似于QQ的程序打包成ocx,放到网页上不就ok了吗。但是存在如下问题:网页是http协议,soket是基于tcp/ip协议的,将后者放到前者中,这样可以吗?我没试过。还有,既然主体是基于IP的,那么在一台电脑上打开两个同学的校内网,那么这两个同学岂不是享受不到校内的消息提醒功能了吗?我倒没试过。因为我听说校内网可以用火狐浏览器也能享受到这样的功能,那么证明他应该不是用ocx方法,因为ocx只有ie浏览器才能用。

3.老老实实的用定时器轮询机制。这应该是最忠实的办法,但是会带来一个问题:1秒轮询一次,别的程序不运行啦?30秒运行一次,提醒会延迟。首先,原始的轮询我想也是基于ajax,客户端通过定时器不断向远程服务器发送请求,那个被请求的页面每次收到请求后,检测数据库有无变化,比如你的留言表里面是不是多了一条记录。有变化的话,response.getwriter().write,否则啥也不做。

还有一种方法,利用多线程。这个我正在琢磨。利用多线程,可以将这个轮询请求当作一个线程来处理,这样就不打扰其他页面的正常操作。我想到这个是因为想到一个同事的毕业设计,用的是flex,有个页面老是在动,我问这个是怎么实现的,他说,是根据数据库的变化而实时在页面访问,用多线程的。。。当然,我没学过flex,不过即将要学的,我买的一本云计算的书,里面有个云脑系统就是用flex实现页面的。

对于站内提醒,不外乎两种思路

一种是推,一种是拉

服务器推送的方式需要使用长连接,或者html5的websocket,就楼主的情况来说未必使用


那就只能用客户端拉的方案了

首先要有个留言表
sendid receiveid title content sendtime isread

对于登录用户,在页面上使用ajax定时轮询,比如1分钟访问服务器一次,查询留言表是否有当前用户的未读留言,如果有,发送给客户端,并标记为已读。

百度知道很明显是使用拉的方案,比较典型的是百度hi收到消息的时候,如果有多个页面就都会同时收到提醒

这个很好解决,下面以dedecms站点为例:
在dedecms增加会员留言即发送邮件给管理员,将大大方便站长管理自己的网站。这个主要是利用织梦内置的发邮件类mail.class.php,其中很简单。

1.首先,需要准备的工作
系统设置-系统基本参数-核心设置中,其中:
网站发信EMAIL:如zuimoban@qq.com
smtp服务器:如:smtp.qq.com
SMTP服务器的用户邮箱: zuimoban@qq.com
SMTP服务器的用户帐号:00000
SMTP服务器的用户密码:你懂的
这几项填正确才可以发信哦。如果实在是收不到信,那么请到邮箱运营商网站查询SMTP相关帮助信息。

2.打开plus/guestbook.php文件,然后找到这个位置:

else{
ShowMsg('成功提交留言,但需要管理员审核后才能显示!','guestbook.php',0,3000);
}
//要把代码加在此处哦。。
exit();
}
//显示所有留言

3.把代码插入到该插入的位置:

//发送EMAIL
$mailaddress=$cfg_adminemail;
$mailtitle='用户"'.$uname.'"通过网站留言板发表了留言';
$message = $msg;
$mailbody ="用户:".$uname."<br/>电话:{$tel}<br/>地址:{$address}<br/>邮箱:{$email}<br/>QQ:{$qq}<br/>留言内容:<br/>".$message."\r\n\r\n";
$headers = "From:".$cfg_adminemail."\r\nReply-To: ".$cfg_adminemail;
if($cfg_sendmail_bysmtp == 'Y' &&!empty($cfg_smtp_server))
{
$mailtype ='HTML';
require_once(DEDEINC.'/mail.class.php');
$smtp = newsmtp($cfg_smtp_server,$cfg_smtp_port,true,$cfg_smtp_usermail,$cfg_smtp_password);
$smtp->debug = false;
$smtp->sendmail($mailaddress, $cfg_smtp_usermail,$mailtitle, $mailbody, $mailtype);
}
else
{
@mail($mailaddress, $mailtitle, $mailbody,$headers);
}
//发送EMAIL结束

添加邮件或短信通知,需要二次开发

添加短信API接口也可以,有评论就会及时通知,或者网站系统能够二次开发那就在后台添加就是了


南丰县19681549976: 网站 留言怎么及时通知到 方法 -
镇季凯尔: 这个很好解决,下面以dedecms站点为例:在dedecms增加会员留言即发送邮件给管理员,将大大方便站长管理自己的网站.这个主要是利用织梦内置的发邮件类mail.class.php,其中很简单.1.首先,需要准备的工作 系统设置-系统基本参数-核...

南丰县19681549976: 用户在网站留言后如何第一时间知道. -
镇季凯尔: 发短信,邮件等给管理员.方法多了.看自己适合哪一种

南丰县19681549976: 如何实现网站有留言可以邮件提醒 -
镇季凯尔: 如果你这个留言信息是可以公开看到的,你可以下载木头软件的“网页自动刷新监控”这个工具软件.他可以监控网页变化,并发邮件提醒你.

南丰县19681549976: 人民网留言办理回复多久回复 -
镇季凯尔: 可以通过人民网地方领导留言板留言查询办理情况. 首先,打开人民网地方领导留言板网站,在首页可以看到“留言查询”栏目,点击进入后,输入留言编号或者关键词即可查询到相关的办理情况.如果记得自己的留言标题或者留言内容中的关...

南丰县19681549976: 请问 做站内消息提醒功能的思路? -
镇季凯尔: 对于站内提醒,不外乎两种思路 一种是推,一种是拉 服务器推送的方式需要使用长连接,或者html5的websocket,就楼主的情况来说未必使用 那就只能用客户端拉的方案了 首先要有个留言表 sendid receiveid title content sendtime isread 对于登录用户,在页面上使用ajax定时轮询,比如1分钟访问服务器一次,查询留言表是否有当前用户的未读留言,如果有,发送给客户端,并标记为已读.很明显是使用拉的方案,比较典型的是百度hi收到消息的时候,如果有多个页面就都会同时收到提醒

南丰县19681549976: 如何实现wordpress评论回复邮件通知功能 -
镇季凯尔: 当我们去别人的博客留言、特别是向博主请教有关技巧方面的问题时,你是不是希望得到博主的回复?答案是肯定的,可有时候我们在那个博客留言、向哪个博主请教问题不一定记得,这样,就算博主回复了你的问题,你也不知道,相当于白问...

南丰县19681549976: 网页留言提交的GET方法是个什么方法,要用哪些asp语言?
镇季凯尔: 楼主你好,网页提交有两种方法,一种是get,一种是post, 默认是get方法. 这两个方法的区别就是,一种提交过去之后在网址上能看到信息.比如账户和密码可以看到. post提交就看不到.所以一般采用post方法提交数据. 至于需要的语言就很多的.我是java方向的.asp的语言我不了解,见谅.

南丰县19681549976: 人人网 别人回复我的留言 我咋看不到呢 我给对方的悄悄话 然后对方回复我 我咋看不到呢 -
镇季凯尔: 你给对方的悄悄话,对方回复你也是悄悄话.你是在首页的留言记录里看到有他给你留言的提醒了吧,然后去留言板看却没有找到.有一种解释可以通,那就是对方确实给你留言了,所以系统给了你一个提醒通知,不过对方留完了又把留言给删掉了,所以你是有通知但是留言看不到了.就这么简单,望采纳.

南丰县19681549976: 网站的游客留言怎么自动发送到指定邮箱? -
镇季凯尔: 自动提取留言内容,设定固定周期,定时去扫描访问你存放留言内容的数据库或者网站页面.然后提取出来并识别内容是不是新的内容.如果是新的则自动发送邮件至指定邮箱.插件估计没有,找熟悉编程的人试一下看能不能实现.

南丰县19681549976: 360极速浏览器如何及时获取通知 -
镇季凯尔: 360极速浏览器及时获取通知的方法如下: 某些扩展程序会在地址栏旁添加按钮,以便通知某些活动的相关情况.例如,使用Google Mail检查程序可在收到新邮件时收到相应提醒. 360极速浏览器是一款极速、安全的无缝双核浏览器.它基于...

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网