其实对于前后台交互有很多种方法(只列举我知道的,嘻嘻):

  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前后台交互的更多相关文章

  1. Devexpress 使用经验 —— ASPxGridView前后台交互写法推荐

    这里的格式是仁者见仁智者见智,这篇随笔只是我在工作过程中总结出的阅读性高,对我来说效率较高的写法. ASPX: <dx:ASPxGridView ID="ASPxGridViewLin ...

  2. jquery ajax返回json数据进行前后台交互实例

    jquery ajax返回json数据进行前后台交互实例 利用jquery中的ajax提交数据然后由网站后台来根据我们提交的数据返回json格式的数据,下面我来演示一个实例. 先我们看演示代码 代码如 ...

  3. JAVA配置&注解方式搭建简单的SpringMVC前后台交互系统

    前面两篇文章介绍了 基于XML方式搭建SpringMVC前后台交互系统的方法,博文链接如下: http://www.cnblogs.com/hunterCecil/p/8252060.html htt ...

  4. ajax实现异步前后台交互,模拟百度搜索框智能提示

    1.什么是异步?在传统的网站项目中,填写一堆数据,最后点击提交,在点击提交的这一刻才实现数据提交,前后台交互.在你点击提交之前数据是没有提交到后台的.这样就会造成很大的不便.比如,我填了一大堆数据,结 ...

  5. 前后台交互经常使用的技术汇总(后台:Java技术,前台:Js或者Jquery)

    1:由于针对特定的前后台交互用到的知识总结,所以不大量贴代码,主要给出思路,方便自己以后脑补和技术总结,当然也希望可以帮助到别人. 后台Json和其他格式转化,之前总结过Json和对象,集合,字符串的 ...

  6. MySQL前后台交互登录系统设计

    1.首先我们做一个前台的注册页面 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"& ...

  7. ajax的底层前后台交互

    为什么用ajax或者它的优点: 异步加载数据,无需切换页面 更加的用户体验,局部刷新,及时验证,操作步骤简化: 节省流量 js控制数据的加载,更加灵活多用. 底层就是XMLHttpRequest对象: ...

  8. 基础框架整合-ssm框架+前后台交互完整教程

    1.基本概念 ssm:spring+springMVC+mybatis 2.开发环境 Eclipse mars + jdk1.7 + maven + tomcat7 3.使用maven构建web项目 ...

  9. ztree的添加、修改、删除及前后台交互

    一.引入资源下载并引入ztree的相关js,css和img等.http://www.treejs.cn/v3/api.php ztree的核心代码jquery.ztree.core.jsztree关于 ...

随机推荐

  1. bzoj4720 / P1850 换教室(Floyd+期望dp)

    P1850 换教室 先用Floyd把最短路处理一遍,接下来就是重头戏了 用 f [ i ][ j ][ 0/1 ] 表示在第 i 个时间段,发出了 j 次申请(注意不一定成功),并且在这个时间段是否( ...

  2. dubbo spring pom文件报错:提示no declaration can be found for element 'dubbo:service'.

    pom文件报错:The matching wildcard is strict, but no declaration can be found for  element 'dubbo:service ...

  3. UML状态机图【图3】--☆

    UML状态机图 基本概述    状态机图描述的是围绕某一事物状态变化的图.它也是三大流程分析利器之一.它和活动图的区别在于,活动图是描述事物发生的流程,是多个角色参与的,而状态机描述的是事物的状态变化 ...

  4. Node复习

    简单复习下node,不过很多重要的知识点是图,文字无法展示出来. 1.Node的特点 异步I/O 事件与回调函数 单线程 跨平台(libuv) 2.Node的应用场景 I/O密集型(事件循环.异步I/ ...

  5. Codeforces 772A Voltage Keepsake - 二分答案

    You have n devices that you want to use simultaneously. The i-th device uses ai units of power per s ...

  6. Android Studio报错view is not constrained

    在活动上面创建了两个按钮,在Design上看上去是两个按钮分开的,run一下,按钮就重合在一起了,而且一直报错,这个时候再去看一下Design,两个按钮重在一块,只显示一个按钮.如下图: button ...

  7. C# 尝试读取或写入受保护的内存。这通常指示其他内存已损坏

    用管理员身份运行CMD,输入netsh winsock reset并回车(注意,必须是已管理员身份运行,这个重置LSP连接)运行后提示要重启生效,结果没重启就OK了(重启不重启看最终效果).

  8. 三部排序|2013年蓝桥杯B组题解析第六题-fishers

    三部排序| 一般的排序有许多经典算法,如快速排序.希尔排序等. 但实际应用时,经常会或多或少有一些特殊的要求.我们没必要套用那些经典算法,可以根据实际情况建立更好的解法. 比如,对一个整型数组中的数字 ...

  9. 【Dalston】【第三章】声明式服务调用(Feign)

    当我们通过RestTemplate调用其它服务的API时,所需要的参数须在请求的URL中进行拼接,如果参数少的话或许我们还可以忍受,一旦有多个参数的话,这时拼接请求字符串就会效率低下,并且显得好傻.那 ...

  10. python 之 条件语句

    python 编程语言指定任何非0和非空(null)值为true, 0或者null为false. python 编程中if语句用于控制程序的执行,基本形式为: if 判断条件: 执行语句…… else ...