У меня есть Node.js основной сервер следующим образом:подключения клиента к серверу с помощью socket.io
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;
мой порт 8001.
и умолчанию используется именно .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);
});
У меня есть другой проект, мой клиент, и я хочу открыть сокет-соединение с сервером, но я этого не сделал. все примеры, которые я видел, используя файл index.html внутри проекта узла (действительно работает). я попробовал добавлять мой клиент:
<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>
, но я не получаю «Connected» журнал.
оцените любую помощь.
благодаря @xSirase, но когда я попытался это я не получаю «связный» бревно я хочу в моей консоли, я получаю много Thie сообщи : [grunt-develop]> GET /socket.io/?EIO=3&transport=polling&t=LYqXtQM 404 12.745 мс - - и я не понимаю, почему. – voldemort
Вы смотрите на свою консоль хром, а не на свой узел node.js? – xShirase
im, глядя на мой узел терминала. я попытался добавить на свой сервер вместо журнала, испустить событие: io.on ('connection', function (socket) { socket.emit ('сообщение', 'вы подключены!'); }) ;: и к моему клиенту: socket.on ('message', function (message) { alert ('У сервера есть сообщение для вас:' + сообщение); }) и не получать предупреждения :( – voldemort