如何使用Vue-Socket.io正确创建自定义套接字方法?

永不珠穆朗玛峰

这是使用Vue-Socket.io进行的简单实验

Express用于index.html本地服务

套接字正在由处理http://metinseylan.com:1923

我在main.jsnamed中定义了一个自定义套接字testClicked测试按钮通过Vue.js绑定到该clickButton()方法。里面clickButton()有两个发出呼叫:

this.$socket.emit('connect', val);          // Works
this.$socket.emit('testClicked', val);      // Fails

我不明白为什么第一个可行,但是第二个失败。我将控制台输出放在底部。

我也尝试添加testClickedvar methods = [...];vue-socketio.js内部,但无济于事。

index.html

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>vue-socket-dynamo</title>
    </head>
    <body id="vue-socket-dynamo">
        <button @click="clickButton('testing 123')">Test</button>

        <script src="https://cdn.socket.io/socket.io-1.4.5.js"></script>
        <script src="http://code.jquery.com/jquery-1.11.1.js"></script>
        <script src="vue.js"></script>
        <script src="vue-socketio.js"></script>
        <script src="main.js"></script>
    </body>
</html>

从这里复制并粘贴vue-socketio.js

main.js

var metin = 'http://metinseylan.com:1923';

Vue.use(VueSocketio, metin); // Automatically socket connect from url string

var vm = new Vue({
    el: '#vue-socket-dynamo',
    sockets:{
        connect: function(val){
            if(val) { console.log('socket connected -> val: ', val); }
            else    { console.log('socket connected'); }
        },
        testClicked: function(val){
            console.log('testClicked method fired by socket server. eg: io.emit("customEmit", data)');
            if(val) { console.log('val: ', val); }
        }
    },
    methods: {
        clickButton: function(val){
            // $socket is socket.io-client instance
            console.log('@click=clickButton Triggered');           // This works.
            console.log('Input val: ', val);
            this.$socket.emit('connect', val);         // Works
            this.$socket.emit('testClicked', val);    // NOT WORKING
        }
    }
});

vue-socket.io控制台输出

Gorgia666

您是否在服务器端编码了send方法?

mySocketIo/index.js  

module.exports = {
  init: function (server) {
    var io = require('socket.io')
    var listeningIo = io.listen(server, null)
    var listeningIoChat = listeningIo.of('/chat')
    listeningIoChat.on('connection', function (socket) {
      console.log('a user connected to chat')
      socket.on('testClicked', function (msg) {
        console.log("testClicked")
        listeningIoChat.emit('testClicked', msg); // this line will trigger the VueSocketio event
      });
      socket.on('disconnect', function () {
        console.log('user disconnected');
      });
    });
  }
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

什么是使用Carton和自定义LibreSSL / OpenSSL安装IO :: Socket :: SSL的正确方法

来自分类Dev

使用 socket.io 创建多个套接字时的 ENOBUFS

来自分类Dev

socket.io 如何制作自定义用户列表

来自分类Dev

使用VUE或vue-socket.io连接Socket.io

来自分类Dev

node.js-使用头盔为socket.io(Web套接字)正确的内容安全策略

来自分类Dev

在vue-socket-io中使用vuejs

来自分类Dev

如何调用socket.io自定义服务器事件?

来自分类Dev

如何使用socket.io断开所有服务端的套接字?

来自分类Dev

Java:如何使用ServerSocket和Socket正确关闭套接字连接

来自分类Dev

使用socket.io-redis的socket.io:将所有套接字对象放在一个房间中

来自分类Dev

socket.io分配自定义socket.id

来自分类Dev

IO :: Socket与Socket我都“使用”吗?

来自分类Dev

Vue-如何在测试中使用其他socket.io端口?

来自分类Dev

如何为房间中的所有客户端更新套接字对象?(socket.io)

来自分类Dev

如何将所有套接字连接到Socket.io

来自分类Dev

如何阻止客户端Socket.io循环套接字发射?

来自分类Dev

带flask-socketio python的Socket.io。如何设置套接字保持活动/超时

来自分类Dev

如何在Socket.io处理程序中访问目标套接字

来自分类Dev

如何在android中的Socket.IO-client中加入套接字空间或通道

来自分类Dev

如何在应用程序范围内保留Socket.io套接字

来自分类Dev

如何阻止客户端Socket.io循环套接字发射?

来自分类Dev

如何在android中的Socket.IO-client中加入套接字空间或通道

来自分类Dev

如何将数据发送到 socket.io 中的特定套接字 ID?

来自分类Dev

Socket.io Node.js 如何将套接字发送给特定用户?

来自分类Dev

我如何使用 socket.io?

来自分类Dev

如何正确使用python socket.settimeout()

来自分类Dev

如何正确使用socket.io和oop

来自分类Dev

如何正确使用socket.io和oop

来自分类Dev

使用标准Web套接字客户端连接到Socket.io服务器

Related 相关文章

  1. 1

    什么是使用Carton和自定义LibreSSL / OpenSSL安装IO :: Socket :: SSL的正确方法

  2. 2

    使用 socket.io 创建多个套接字时的 ENOBUFS

  3. 3

    socket.io 如何制作自定义用户列表

  4. 4

    使用VUE或vue-socket.io连接Socket.io

  5. 5

    node.js-使用头盔为socket.io(Web套接字)正确的内容安全策略

  6. 6

    在vue-socket-io中使用vuejs

  7. 7

    如何调用socket.io自定义服务器事件?

  8. 8

    如何使用socket.io断开所有服务端的套接字?

  9. 9

    Java:如何使用ServerSocket和Socket正确关闭套接字连接

  10. 10

    使用socket.io-redis的socket.io:将所有套接字对象放在一个房间中

  11. 11

    socket.io分配自定义socket.id

  12. 12

    IO :: Socket与Socket我都“使用”吗?

  13. 13

    Vue-如何在测试中使用其他socket.io端口?

  14. 14

    如何为房间中的所有客户端更新套接字对象?(socket.io)

  15. 15

    如何将所有套接字连接到Socket.io

  16. 16

    如何阻止客户端Socket.io循环套接字发射?

  17. 17

    带flask-socketio python的Socket.io。如何设置套接字保持活动/超时

  18. 18

    如何在Socket.io处理程序中访问目标套接字

  19. 19

    如何在android中的Socket.IO-client中加入套接字空间或通道

  20. 20

    如何在应用程序范围内保留Socket.io套接字

  21. 21

    如何阻止客户端Socket.io循环套接字发射?

  22. 22

    如何在android中的Socket.IO-client中加入套接字空间或通道

  23. 23

    如何将数据发送到 socket.io 中的特定套接字 ID?

  24. 24

    Socket.io Node.js 如何将套接字发送给特定用户?

  25. 25

    我如何使用 socket.io?

  26. 26

    如何正确使用python socket.settimeout()

  27. 27

    如何正确使用socket.io和oop

  28. 28

    如何正确使用socket.io和oop

  29. 29

    使用标准Web套接字客户端连接到Socket.io服务器

热门标签

归档