如何允许其他网络连接到服务器Node.js套接字IO

时间:2020-03-15 22:42:51

标签: php node.js sockets vue.js socket.io

我正在尝试使用socket.io创建实时聊天,当前只有在使用自己的网络时才能连接。 (通过[ngrok] https://ngrok.com/测试)。

如何允许其他人也可以连接?

socket.js文件:


var app = require('express')();
var http = require('http').createServer(app);
var io = require('socket.io')(http);


http.listen(3000, function(){
  console.log('listening on *:3000');
});


io.on('connection', function(socket){
  console.log('a user connected');

  socket.on('chat.message', function(message) {
    console.log(message)
     io.emit('chat.message', message)
  })
});

chat.js文件:


import io from 'socket.io-client';

const socket = io('my_ipv4_address':3000');

var app = new Vue({
    el: '#app',
    mounted: function() {
      console.log('testing 123')
      socket.on('chat.message', function(message) {
        this.messages.push(message)
      }.bind(this));
    },
    data: {
      messages: [],
      message: null
    },
    methods: {
        send() {
            socket.emit('chat.message', this.message)
    }
}})

1 个答案:

答案 0 :(得分:0)

@ jfriend00解决了该问题。

我也改变了

const socket = io('my_ipv4_address':3000');

const socket = io('my_public_ip':3000');