клиентский сокет vue не подключается к серверу - PullRequest
0 голосов
/ 22 июня 2019

Я пытаюсь использовать и инициировать соединение socket.io в моем App.vue с моим server.js.Тем не менее, я получаю следующую ошибку из моего браузера.В моем файле server.js я вижу, что console.log(socket.id) не работает, но сервер console.log(, работающий через порт $ {port} ), работает.Кто-нибудь может посоветовать, что я сделал не так?

Сообщение об ошибке

enter image description here

App.js

<template>
  <v-app app>

    <v-toolbar dense fixed>
      <v-toolbar-title color="purple darken-1">
        <img id="byron_logo" :src="require(`@/assets/byron_logo.png`)">
      </v-toolbar-title>

      <v-spacer></v-spacer>

      <v-btn icon>
        <router-link to="/"><v-icon color="red darken-1">assignment_ind</v-icon></router-link>
      </v-btn>

      <v-btn icon>
        <router-link to="/metrics"><v-icon color="blue darken-1">insert_chart_outlined</v-icon></router-link>
      </v-btn>

      <v-btn icon>
        <router-link to="/dog"><v-icon color="blue-grey darken-1">fas fa-dog</v-icon></router-link>
      </v-btn>
    </v-toolbar>

    <v-content class="main-content">
      <router-view/>
    </v-content>

  </v-app>
</template>

<script>
import io from 'socket.io-client'
var socket = io.connect('http://localhost:8081');

export default {
  name: 'App',
  components: {},
  data () {
    return {

    }
  },
  created () {
    socket.emit('SEND_MESSAGE', {
        user: 'Client',
        message: 'App.vue to server.js'
    })
  },
  mounted () {

  }
}
</script>

<style scoped>
  #byron_logo{
    display: flex;
    width: 6rem;
  }
  .main-content{
    margin-top: 5rem;
  }
  a{
    color: transparent !important;
    background-color: transparent !important;
  }
</style>

server.js

const express = require('express')
const bodyParser = require('body-parser')
const cors = require('cors')
const port = process.env.PORT || 1991


const app = express()

// middleware
app.use(cors())

// routes
const metrics = require('./routes/api/metrics') 
app.use('/api/metrics', metrics)

// run server
const server = app.listen(port, ()=>{
    console.log(`server running on port ${port}`)
})

// socket.io instance
const io = require('socket.io')(server)

// socket.io connection
io.on('connection', (socket) => {
    console.log(socket.id)
    socket.on('SEND_MESSAGE', function(data) {
        io.emit('MESSAGE', data)
        console.log(data)
    });
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...