首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >vue-socket.io应用程序没有接收到快递socket.io应用程序发出的信息

vue-socket.io应用程序没有接收到快递socket.io应用程序发出的信息
EN

Stack Overflow用户
提问于 2020-06-23 16:32:14
回答 1查看 2.2K关注 0票数 5

我试图在使用socket.io (localhost:8000)的快速应用程序和使用vue-socket.io的vue应用程序(localhost:8080)之间创建一个socket.io通信。快速应用程序正在接收vue应用程序的排放,反之亦然。这是我的快递应用程序,不过我很确定问题在于vue应用程序:

后端快车

代码语言:javascript
复制
const port = 8000
const express = require("express")
const socket = require("socket.io")

const app = express()
const server = app.listen(port, () => {
  console.log(`App is lisening to port ${port}...`)
} )

const io = socket(server)

io.on("connection", (socket) => {
  console.log("connected to " + socket.id) //this is successfully getting logged
  socket.on("chat", (msg) => {
    console.log(socket.id + ": " + msg) //this is successfully getting logged when I click send
    io.sockets.emit("chat", msg) 
  } )
} )

我猜问题出在以下几个地方:

前端Vue (使用CLI)

main.js:

代码语言:javascript
复制
import Vue from 'vue'
import App from './App.vue'
import VueSocketIO from 'vue-socket.io'
import SocketIO from 'socket.io-client'

Vue.use(new VueSocketIO( {
    debug: true,
    connection: SocketIO('http://localhost:8000')
  } )
)

Vue.config.productionTip = false

new Vue({
  render: h => h(App),
}).$mount('#app')

聊天组件(Chat.vue)

代码语言:javascript
复制
<template lang="html">
  <div>
    <input type="text" v-model="input"/>
    <button @click="send">Send</button>
  </div>
</template>

<script>
export default {
  sockets: {
    //These dont work, nothing is printed to the console
    connect: function () {
      console.log('socket connected')
    },
    chat: function (msg) {
      console.log("chat message recieved!: " + msg)
    }
  },
  data(){
    return {
      input: ""
    }
  },
  methods: {
    send(){
      this.$socket.emit('chat', this.input) //This works and is recieved by the express app!
    }
  }
}
</script>

有一天我一直想搞清楚这件事,却没有运气。

再一次,我的唯一目标是能够在快速应用程序前面接收排放。另外,如果有更好的方法在vue中使用socket.io而不使用vue-socket.io,我很乐意对此进行研究。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-23 18:44:18

我能够简单地使用vue-socket.io-extended而不是vue-socket.io来完成这个任务。仅此而已,没有必要对代码进行重大修改。我知道从技术上讲,这并不能解决使用vue-socket.io的问题,但在有人弄清楚这一点之前,我将把这个作为未来搜索者的答案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62539525

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档