Нужна помощь в понимании vue-socket.io;экспресс и socket.io все еще требуются? - PullRequest
0 голосов
/ 02 июля 2019

Я делаю игру в Vue, и я бы хотел, чтобы игроки могли играть вместе на расстоянии.Я только начинаю с сокетов, и я немного запутался.

Я начал с CLI "vue create".Вот код в моем main.js:

import Vue from "vue";
import App from "./App.vue";
import VueSocketio from "vue-socket.io";

Vue.use(VueSocketio, "http://localhost:8080/");
Vue.config.productionTip = false;

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

Затем в моем App.vue (пытается обрезать до минимума):

<template>
    <div id="app">
        <input type="button" value="button" @click="clickButton()">
    </div>
</template>
<script>
    export default {
        name: "app",
        components: {
            Grid,
            ParamsForm,
            Timer
        },
        data() {
            [...]
        },
        methods: {
            clickButton(data) {
                console.log(data);
                this.$socket.emit("customEmit", data);
            }
        },
        sockets: {
            connect: function() {
                console.log("socket connected");
            },
            customEmit: function(val) {
                console.log("this method was fired by the socket server.");
            }
        },
    }
</script>

Так что у меня в основном 3 или4 вопроса.

  1. В этой настройке, так как я использую vue-socket.io, нужно ли мне устанавливать и использовать Express и / или обычный socket.io поверх этого,или vue-socket.io должен охватывать все это?

  2. При существующем положении вещей я никогда не вижу сообщения "сокет подключен", и консоль порождает сообщение POST http://localhost:8080/socket.io/?EIO=3&transport=polling&t=MkmvuSb 404 (Not Found) каждые 3секунд или около того.Чего мне не хватает?

  3. При нажатии на кнопку будет запущен файл console.log, но не this. $ Socket.emit ().Опять же, какой шаг я пропускаю?

  4. Когда я получу работу с vue-сокетами, смогу ли я продолжить разработку с помощью команды npm run serve илиэто абсолютно необходимо, чтобы я использовал "node server.js" или что-то подобное вместо этого?

Все учебники, которые я обнаружил там, похоже, касаются только очень конкретного случая использования, и онине могу договориться о том, что требуется.

Большое спасибо за вашу помощь!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...