美文网首页
前端原生index.html成功连接socket.io

前端原生index.html成功连接socket.io

作者: 小北呀_ | 来源:发表于2020-04-30 16:10 被阅读0次

    socket.io官网
    首先socket.io和websocket不能通用,是两个东西。这篇文章讲socket.io
    socket.io的例子前端用index.html展示,服务器用node.js搭建,这个在官网写得很清楚。是比较容易实现的。

    下面这个index.html是用的项目中较标准的格式。
    <script src="http://cdnjs.cloudflare.com/ajax/libs/socket.io/2.2.0/socket.io.js" integrity="sha256-yr4fRk/GU1ehYJPAs8P4JlTgu0Hdsp4ZKrx8bDEDC3I=" crossorigin="anonymous"></script>
    <script type="text/javascript" charset="utf-8">
        var socket =  io('http://122.1.9.29:5000/socket/detail',{'transports': ['websocket']})
        socket.emit('satellite', {data: 'satellite'});
        socket.on('response', function(data) {
           console.log(data,'data......')
        });
    </script>
    
    
    解释:
    1.io('接口地址',配置),'transports': ['websocket']:因为接口是http,要告诉浏览器要以ws接口处理才可以成功。
    2.socket.emit('message', 数据),message:这是跟后台定好的字段,前端以'message'标识给他传数据,后台也有一个以'message'命名的函数来接收处理前端数据。
    3.socket.on('response', function(数据) {}),response:这是跟后台定好的字段,后台处理好数据以'response'为标识返回数据,前端会在‘response’函数里处理后台的数据
    服务器:
    //接收前端message的数据
    @socketio.on('message', namespace='/socket/detail')
    def message(msg):
       //msg就是前端传过来的数据
        emit('response', msg)
    //用response把msg再传回去
    

    相关文章

      网友评论

          本文标题:前端原生index.html成功连接socket.io

          本文链接:https://www.haomeiwen.com/subject/wdttghtx.html