想要实现,当我给其他用户发送信息时,对方会实时收到提示音,代码如下:
[code="java"]
dwrCheck.isNewMessage("username","0",callback);
function callback(data){
if (data) {
var bghtml='sound';
bgmusic.document.getElementById("bgmusic").innerHTML=bghtml;
}
else {
}
}
Ext.Msg.alert('成功',"信息发送成功");
[/code]
这样子只能实现发送信息后如果自己有新信息会发出voice.mp3 怎么让对方听到!!!!!!
推模式是不可能的。
有如下两点解释:
1,[color=blue]从HTTP协议来说也是不可能的,因为HTTP协议是无状态(stateless)连接。连接一次后马上断开。下次需要连接再新建一个连接。[/color]
2,[color=blue]从上层来解释:b/s是请求/应答模式,没有请求就没有应答。而且b/s是无连接模式,s无法知道b是否还在线。 [/color]
Ajax每个1分钟(具体看情况而定)从后台获取是非有新消息的标志。如果有,回调函数中调用函数发出声音。
QQ是桌面软件,使用的UDP协议。使用的是socket编程,架构是client\server模式(简称C\S)
而web应用99.9%采用的是TCP协议。架构是browser\server模式(简称B\S)
两者底层的网络编程实现不同。所以在web浏览器不象桌面软件实时。
web QQ只是把时间间隔设的更短而已,其中必有服务器中转。
B\S 模式下一般是Ajax实现。这个是无疑的。