现在正帮公司做一个内部即时信息反馈,有没有办法使一发送信息给别人,别人的桌面就立即弹出此信息且带一个快速回复.
我希望得到这样的效果,我发一信息给对方,发送的时候把信息存入数据库,我一发送,对方就会立即收到自动弹出我发送的信息.怎么办? 问题点数:50、回复次数:23Top
1 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2004-11-01 16:56:42 得分 1
applicationTop
2 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2004-11-01 16:56:50 得分 1
socketTop
3 楼rickjelly2004(每逢佳节倍思亲-------------快乐生活)回复于 2004-11-01 16:57:03 得分 1
winsock控件Top
4 楼ylc001(一人得道,鸡犬升天)回复于 2004-11-01 16:58:06 得分 1
C/S结构的就很简单,服务器可以推给客户端
B/S结构的需要用一个定时查询的机制去查询,并且前提是人家先开了IETop
5 楼luoyankun0216(静坐小河边)回复于 2004-11-01 17:04:39 得分 0
定时查询机制,如果经常运行这个程序,大家都在用,会不会占用非常大的内在.开IE没有问题.要求每个人开IE就行.有没有什么列子给我参考下?请各位大哥帮帮忙.
还有,这个定时查询机制怎么做?放在哪里.Top
6 楼netDust_cv(网尘)回复于 2004-11-01 17:09:20 得分 1
建议可以把单独的代码写到IFRAME里面,然后定时刷新IFRAME里面的内容。这样刷新的内容少一些。执行效率会快一些。Top
7 楼luoyankun0216(静坐小河边)回复于 2004-11-01 17:11:01 得分 0
如何写呢?如果定时刷新会不会使页面经常闪动.总不能没有消息时也刷新一下,把页面跳到人家前面来,这样可能会影响别人工作.Top
8 楼twobug(江山)回复于 2004-11-01 17:22:17 得分 0
加上一个尺寸为0的IFrame,每分钟刷新一次,服务器端对应的代码检查是否有消息,有的话注册一段客户端脚本“windows.open(url)”,这个url是可以到一个现实消息的页面,并包含了相关参数,windows.open()里可以指定显示的位置Top
9 楼luoyankun0216(静坐小河边)回复于 2004-11-01 17:26:06 得分 0
如何做到每分钟刷新一次呢?使用什么方法,thread.sleep行吗?再请大家给个提示.还有IFrame我也不太懂.请大家多多指导.因为我本来就做了一个三层的框架,要是再加一个,既然尺寸为0,可是不太好加.还有相关参数年怎么指定?Top
10 楼GSXiaoXiao(牧羊人)回复于 2004-11-01 17:26:09 得分 1
关注Top
11 楼luoyankun0216(静坐小河边)回复于 2004-11-01 17:35:42 得分 0
再请问大家一下,可不可以把定时刷新做在客户端,定时刷新.比如:
function suaxin()
{
读取数据库程序,if(数据库有新记录增加)
window.open(url)
}
window.setTimeout("suaxin()",1000);
这样的话行不行,问题是如何写读取数据库程序呢?可不可以在后台代码里写一个方法,在这里调用,请大家帮忙想想,因为这个问题比较急啊.Top
12 楼zhn0410(海鸥)回复于 2004-11-01 17:43:29 得分 1
占个位学习,并帮你顶一下。Top
13 楼twobug(江山)回复于 2004-11-01 17:46:12 得分 0
你的页面要是框架网页的话,就比较方便了,把那个IFrame放在Title框架里,保证无论去那个页面都会有这个IFrame,定时刷新IFrame不是用什么thread.sleep(),只用简单的Html就可以实现,在Header里加一句就可以了,具体的自己查吧,忘记了。IFrame指定的页面应该是一个Aspx页面,里面的代码检查,当前的登陆用户是否有新的消息,这些新消息应该有消息ID,把这些ID组成一个有分隔符字符串,建一个WebForm用来显示消息,接受Request.QueryString()参数,把消息ID解析成单个的,然后按照你希望的格式显示就可以了,如果你看不懂的话,我觉得你可能有些WebForm编程的基础知识还不够,还是先老老实实的看些基础书在来考虑这个问题可能事半功倍Top
14 楼jonas401(寒梅只为伊人香)回复于 2004-11-01 17:48:27 得分 1
如果是公司内部用,访问量应该不是很大
用即时刷新的方法可行
Top
15 楼luoyankun0216(静坐小河边)回复于 2004-11-01 18:03:28 得分 0
TO:twobug,按你的说法虽然页面闪烁不大,但是如果一刷新的话,读取数据库后,页面肯定会更新,哪就会弹到最前面来,如果有新消息的话当然好,如果没有呢,这样不是影响别人的工作吗?
Top
16 楼luoyankun0216(静坐小河边)回复于 2004-11-01 18:05:19 得分 0
再请问一下,怎么使用jscript来定时执行服务器端一个程序呢?Top
17 楼alex_jiang(姜文彬)回复于 2004-11-01 18:06:46 得分 1
在客户端,建立一个服务,时时获取信息!Top
18 楼luoyankun0216(静坐小河边)回复于 2004-11-01 18:24:34 得分 0
问题是在客户端也要执行数据库查询啊,看看有没有新消息过来啊,如果没有的话就不动,有的话就重定向到另一页面,就直接点吧,请大家教教我如何用javascript进行数据库编程.Top
19 楼twobug(江山)回复于 2004-11-01 19:09:03 得分 0
思路有问题,为什么总是想用客户端脚本访问数据库,那还不如用TM算了,再说IFrame的刷新,也不会使窗口弹到最前面来Top
20 楼twobug(江山)回复于 2004-11-01 19:13:46 得分 0
<body MS_POSITIONING="GridLayout">fff
<form id="Form1" method="post" runat="server">
<iframe width="0" height="0" scrolling="no" src="Test2.aspx"></iframe>
</form>
</body>
这是包含IFrame的AspxTop
21 楼twobug(江山)回复于 2004-11-01 19:20:32 得分 39
<body MS_POSITIONING="GridLayout">
<script>
window.setTimeout("refresh()",1000)
function refresh()
{
Form1.submit();
}
</script>
<form id="Form1" method="post" runat="server">
<INPUT style="Z-INDEX: 101; LEFT: 304px; POSITION: absolute; TOP: 168px" type="submit"
value="Submit">
</form>
</body>
这是Iframe指定的Src文件Top
22 楼Megres()回复于 2004-11-01 19:40:42 得分 1
http://sanjianxia.myrice.com/asp/asp7.htm
也许这个可能有用,但我没成功试过,你可以试试
Top
23 楼fastyou(不甘落后-鸵鸟也可以飞)回复于 2004-11-01 20:59:29 得分 1
我們公司有個做好的,給各郵件sula@acmetech.dtdns.netTop




