2016-11-30 1 views
0

J'ai un serveur de base Node.js comme suit:client connecter au serveur en utilisant socket.io

fichier app.js:

var express = require('express'); 
config = require('./config/config'); 

var app = express(); 
require('./config/express')(app, config); 
var server = require('http').Server(app); 
server.listen(config.port,function() { 
console.log('Express server listening on port ' + config.port); 
}); 
module.exports = server; 

mon port est 8001.

et deafult Fichier .ts:

import express = require('express'); 
var server = require('../../app'); 
var router = express.Router(); 

export = function (app) { 
app.use('/', router); 
}; 

router.get('/', function (req, res, next) { 
res.render('index', { 
    title: 'hello world' 
    }); 
}); 

var io = require('socket.io')(server); 
io.on('connection', function (socket) { 
console.log("connected" + socket.id); 
}); 

J'ai un autre projet, mon client et je veux ouvrir une connexion socket au serveur, mais je n'ai pas réussi à le faire. tous les exemples que j'ai vus en utilisant un fichier index.html dans le projet de noeud (fonctionne en effet). i essayé d'ajouter mon client:

<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script> 
<div> 
<button ng-click="io.connect('http://localhost:8001')">hi</button> 
</div> 

mais je ne suis pas le journal "connecté".

apprécier toute aide.

Répondre

0

Ce client devrait vous donner une connexion socket persistante:

<script src="https://cdn.socket.io/socket.io-1.4.5.js"></script> 
<script> 
    var socket = io.connect(http://localhost:8001); 
    // attach your events here 
</script> 
+0

grâce @xSirase, mais quand je l'ai essayé cela, je n'obtiens pas le journal « connecté » je veux dans ma console, je reçois beaucoup de Thie msg : [grunt-develop]> GET /socket.io/?EIO=3&transport=polling&t=LYqXtQM 404 12.745 ms - - et je ne comprends pas pourquoi. – voldemort

+0

Vous regardez votre console chromée, pas votre terminal node.js? – xShirase

+0

Im regardant mon terminal de noeud. J'ai essayé d'ajouter à mon serveur à la place du journal, d'émettre un événement: io.on ('connection', function (socket) { socket.emit ('message', 'Vous êtes connecté!'); }); à mon client: socket.on ('message', fonction (message) { alert ('Le serveur a un message pour vous:' + message); }) et n'obtenez aucune alerte :( – voldemort