角度页面到node.js服务器套接字连接

Angular page to node.js server socket connection

本文关键字:js 服务器 套接字 连接 node      更新时间:2023-09-26

我对此有问题。

这是我的node.js服务器中的代码:

var bodyParser = require("body-parser");
var express    = require('express');
var http       = require('http').Server(app);
var io         = require('socket.io')(http);
var app        = express();
......    
io.sockets.on('connection', function(socket){
  socket.emit('welcome', { message: 'Welcome!', id: socket.id });
    socket.on('i am client', console.log);
});
app.listen(port);

还有我棱角分明的页面:

var modulo_angular = angular.module('app', ['btford.socket-io', 'ngRoute']);
modulo_angular.factory('socket', function (socketFactory) {
    var myIoSocket = io.connect('http://myurl:8000/');
    var mySocket = socketFactory({
        ioSocket: myIoSocket
    });
   return mySocket;
});
modulo_angular.controller("appCtrl",['factoryController', 'socket',controladorSecundario]);

我得到的错误是:

GET http://myurl:8000/socket.io/?EIO=3&transport=polling&t=1435131076378-14 404 (Not Found)

如果我使用http://localhost'而不是一个url,我得到了ERR_CONNECTION_REFUSED。我在同一个网络中,通过一个vpn连接,并打开端口。我的代码中还需要其他内容吗?

显然是浏览器试图获取丢失的http://myurl:8000/socket.io/。我相信这是由于你的服务器设置。

试试这个:

var port = 8000;
var app = express();
var server = app.listen(port); // start the server
var io = require('socket.io').listen(server); // start socketIO