目前主流前后端通信技术有websocket长连接,socketIO长连接或轮询,vertx轮询等。
需要做实时聊天室的用长连接,需要做通知提醒的一般用轮询,可自由根据业务而定
下面介绍一下vertx的例子
1.下载 vertx-eventbus.js文件并引入到你项目中
<script src="lib/vertx/sockjs.min.js"></script>
<script src="lib/vertx/vertx-eventbus.js"></script>
2.后台提供给你一个eventbus的服务访问地址,如:"https://csscrm7.wuuxiang.com/"这个服务每隔一段时间向你发送一些数据(其实是前端发起http请求给后端然后回调)
3.html中添加js代码,实现监听。代码中的"vertx.client"与"vertx.server"是为了区分是接收还是发送数据的服务,这里前后台保持一致就行。
var eb = new EventBus('https://csscrm7.wuuxiang.com/' + 'eventbus/');
eb.onopen = function () {
eb.registerHandler("vertx.client." + $rootScope.user.empId, function (err, msg) {//监听数据
if (err) {
} else {
var msgData = msg.body;
if (msgData.status == 1) {
$rootScope.getSysinfo();
}
if (msgData.status == '0') {
modalService.info({
content: msgData.content,
type: 'fail'
});
}
}
});
eb.send("vertx.server", "vertx.client." + $rootScope.user.empId, function () {//发送信息给服务端
});
};