WebSocket前后台交互
其实对于前后台交互有很多种方法(只列举我知道的,嘻嘻):
1:from 表单:
使用场景——小信息量提交给后台
2:ajax(跨域的话用jsonp):
可以进行多量的前后台信心传递;
但实时性不高,不适合要求实时性的场景;例如qq聊天
3:webscoket:
可以进行大量的前后台信息传递,
实时性也十分良好;主要应用场景为聊天场景;
一:websocket:
1:创建一个websocket实例:
var socket = new WebSocket(socketUrl); socketUrl代表的是请求的地址,类似于ajax的url
2:链接服务器进行前后台交互以及事件处理:
socket.onopen = function(event) {
//想要验证是否连接成功可以给后台发一个消息
socket.send('我已经连接成功了么');
// 这个事件监听,可以监听后台返回来给你的消息,即str就是
socket.onmessage = function(str) {
console.log(str);
};
// 监听Socket的关闭
socket.onclose = function(str) {
console.log(str);
};
// 关闭Socket.... (需要的时候把注释去掉)
//socket.close() ;
};
其实websocket用起来特别的容易,但是有一个缺点就是ie不兼容,那怎么办呢,还有一个办法就是socket.io.js,它看起来非常像客户端API,建立客户端Socket.IO;
二:带Socket.IO的WebSocket:
Socket.IO可以从GitHub下载,可以把socket.io.js文件包含到页面中:
<script src="js/socket.io.js"></script>
此时,Socket.IO在此页面上是有效的,是时候创建Socket了:
1://创建Socket.IO实例,建立连接
var socket = new io.Socke(bollmskn);//bollmskn代表的是请求地址,类似ajax的url
socket.connect();
2:// 连接监听
socket.on('connect',function() {
console.log('服务器已连接!'); // 这里可以做一些事件的处理啊,什么的比如做一个提示啊什么的;
});
3://建立一个事件监听,监听后台返回来的数据
socket.on('message',function(data) {
console.log('这是后台返回来的消息',data);
});
4:// 通过Socket发送一条消息到服务器
function sendMessageToServer(message) {
socket.send(message);
}
5// 添加一个关闭连接的监听器
socket.on('disconnect',function() {
console.log('链接已关闭!');
});
Socket.IO还提供了由本地WebSocket API提供的普通连接、断开连接、消息事件。Socket还提供了封装每个事件类型的方法。如果你们后台封装了特定的事件方法就按照你们的自己来,这个你们前后台自己商量着来;
拜拜,周末愉快!!!
WebSocket前后台交互的更多相关文章
- Devexpress 使用经验 —— ASPxGridView前后台交互写法推荐
这里的格式是仁者见仁智者见智,这篇随笔只是我在工作过程中总结出的阅读性高,对我来说效率较高的写法. ASPX: <dx:ASPxGridView ID="ASPxGridViewLin ...
- jquery ajax返回json数据进行前后台交互实例
jquery ajax返回json数据进行前后台交互实例 利用jquery中的ajax提交数据然后由网站后台来根据我们提交的数据返回json格式的数据,下面我来演示一个实例. 先我们看演示代码 代码如 ...
- JAVA配置&注解方式搭建简单的SpringMVC前后台交互系统
前面两篇文章介绍了 基于XML方式搭建SpringMVC前后台交互系统的方法,博文链接如下: http://www.cnblogs.com/hunterCecil/p/8252060.html htt ...
- ajax实现异步前后台交互,模拟百度搜索框智能提示
1.什么是异步?在传统的网站项目中,填写一堆数据,最后点击提交,在点击提交的这一刻才实现数据提交,前后台交互.在你点击提交之前数据是没有提交到后台的.这样就会造成很大的不便.比如,我填了一大堆数据,结 ...
- 前后台交互经常使用的技术汇总(后台:Java技术,前台:Js或者Jquery)
1:由于针对特定的前后台交互用到的知识总结,所以不大量贴代码,主要给出思路,方便自己以后脑补和技术总结,当然也希望可以帮助到别人. 后台Json和其他格式转化,之前总结过Json和对象,集合,字符串的 ...
- MySQL前后台交互登录系统设计
1.首先我们做一个前台的注册页面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...
- ajax的底层前后台交互
为什么用ajax或者它的优点: 异步加载数据,无需切换页面 更加的用户体验,局部刷新,及时验证,操作步骤简化: 节省流量 js控制数据的加载,更加灵活多用. 底层就是XMLHttpRequest对象: ...
- 基础框架整合-ssm框架+前后台交互完整教程
1.基本概念 ssm:spring+springMVC+mybatis 2.开发环境 Eclipse mars + jdk1.7 + maven + tomcat7 3.使用maven构建web项目 ...
- ztree的添加、修改、删除及前后台交互
一.引入资源下载并引入ztree的相关js,css和img等.http://www.treejs.cn/v3/api.php ztree的核心代码jquery.ztree.core.jsztree关于 ...
随机推荐
- DBeaver数据库管理工具连接Sybase数据库
DBeaver数据库管理工具连接Sybase数据库 1. 下载DBeaver 官方网站:http://dbeaver.jkiss.org/ DBeaver5.3.1解压缩版(不用安装和配置):http ...
- linux command line send email
https://www.tecmint.com/send-email-attachment-from-linux-commandline/ https://stackoverflow.com/ques ...
- 《大话处理器》Cache一致性协议之MESI (转)
原文链接:http://blog.csdn.net/muxiqingyang/article/details/6615199 Cache一致性协议之MESI 处理器上有一套完整的协议,来保证Cache ...
- [内核驱动] 链表LIST_ENTRY的操作(转)
转载:https://www.cnblogs.com/forlina/archive/2011/08/11/2134610.html 转载:http://www.xuebuyuan.com/15443 ...
- 一道cf水题再加两道紫薯题的感悟
. 遇到一个很大的数除以另一个数时,可以尝试把这个很大的数进行,素数因子分解. . 遇到多个数的乘积与另一个数的除法时,求是否能整除,可以先求每一个数与分母的最大公约数,最后若分母数字为1,则证明可整 ...
- freeswitch控制台日志级别设置以及存储
1.在管理控制台上设置 console loglevel (0~7)越往上级别越大 2.打开sip详细日志 sofia profile internal siptrace on 3.关闭sip详细日志 ...
- Oracle使用——oracle用户相关操作
前提 以dba角色登录数据库(普通用户没有操作权限):sqlplus / as sysdba 具体操作 创建用户 创建用户 使用默认表空间创建用户 create user xzgxh identifi ...
- CodeForces 509C Sums of Digits(贪心乱搞)题解
题意:a是严格递增数列,bi是ai每一位的和,告诉你b1~bn,问你怎样搞才能让an最小 思路:让ai刚好大于ai-1弄出来的an最小.所以直接模拟贪心,如果当前位和前一个数的当前位一样并且后面还能生 ...
- WinMerge 过滤器用法
WinMerge是一款开源的文件对比合并工具.http://winmerge.org/WinMerge提供了“过滤器”功能,可以在对比时排除特定的目录或文件. 1.编辑过滤规则工具 -> 过滤器 ...
- BZOJ 3622 已经没有什么好怕的了
扯淡 看到题目想到二项式反演 然后忘了给求阶乘的时候取模,调了一晚上 真令人窒息 思路 二项式反演 首先二项式反演还有另一种形式(不会证) 设\(G_i\)为有至少i个的方案数量,\(F_i\)为恰好 ...