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.
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
Vous regardez votre console chromée, pas votre terminal node.js? – xShirase
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