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

标签 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)
    }
}})

最佳答案

@ jfriend00解决了该问题。

我也变了

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


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

关于php - 如何允许其他网络连接到服务器Node.js套接字IO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60698411/

相关文章:

c++ - 从套接字读取数据

multithreading - node.js 中的长时间运行计算

我能否保证在 select() 报告套接字已准备好读取后 recv() 不会阻塞?

php - 带有表单的 PHP 中的 OOP 概念

php - 带有 keyBy 的 Laravel 响应返回对象和数组

javascript - let vs var 在 nodejs 和 chrome 中的性能

javascript - NODE.js - 如何在其他方法中使用方法

java - java(client-server)中如何使用wireshark检查与SSL sockets的连接等疑惑

php - PHP非阻塞套接字

php - 最佳实践数据库事务和在 PHP 中将文件存储到文件系统