2016-01-27 2 views
0

Я следующий JS кодsocket.emit не проходящие сообщения

`var express = require('express'); 
var app = express(); 
var http = require('http').Server(app); 
var path = require("path"); 
var io = require('socket.io')(http); 


app.get('*', function (req, res){ 
    res.sendFile(path.join(__dirname, '/Public')); 
}); 

app.use('/home',express.static(path.join(__dirname,'/Public'))); 

//app.use('/static', express.static(__dirname + 'index.html')); 

io.on('connection', function (socket) { 
    socket.on('message', function (data) { 
    socket.emit('news', { hello: 'world' }); 
    }); 
    socket.on('another-message', function (data) { 
    socket.emit('not-news', { hello: 'world' }); 
    }); 
}); 


http.listen(3000, function(){ 
    console.log('listening on *:3000'); 
});` 

У меня есть HTML-код

<html> 
    <h1>working</h1> 
    <script src="/socket.io/socket.io.js"></script> 
    <script> 
     var socket = io.connect('http://localhost:3000', { path :'/' +home}); 
     socket.on('connect',function(){ 
     socket.emit('message', 'Hello server'); 
     }); 
     socket.on('news', function (data) { 
     console.log(data); 
     socket.emit('my other event', { my: 'data' }); 
     }); 
    </script> 
    <body> 
     <p>display a message</p> 
     </body> 
    </html>` 

Я иду на страницу локального хоста: 3000/дома, и я получаю мой HTML страницы , Но в консоли я не мог видеть никаких сообщений. Где я не прав? пожалуйста, исправьте меня.

+0

пожалуйста, попробуйте это в HTML розеткой .emit ('message', {'msg': 'Hello server'}); вместо socket.emit ('сообщение', 'Hello server'); –

+0

Какая ошибка у вас? –

+0

@abhyudit i dint получить любую ошибку, но сообщение между браузером и узлом не передается. Следовательно, пул и браузер пустые –

ответ

0

Почему вы говорите, что у вас не было ошибок в консоли? У меня ошибка. Я вставить скриншот этого:

Error

Нажмите на то, чтобы увидеть, где у вас есть ошибки.

Я сэкономлю вам время.

Изменить эту строку в index.html

var socket = io.connect('http://localhost:3000', { path :'/' +home}); 

в

var socket = io.connect('http://localhost:3000'); 

После этого вы получите что-то вроде этого:

Success

+0

Спасибо, что это работает .. –

+0

@SureshKrishna, пожалуйста, примите этот ответ, если он вам помог. –

+0

Мне нужно подключение для конкретного пути localhost: 3000/home, поэтому я сделал var ioPath = ""; iopath = '/' + 'home' + '/socket.io' var socket = io.connect ('http: // localhost: 3000', {path: iopath}); но в браузере я получаю «GET http: // localhost: 3000/home/socket.io /? EIO = 3 & transport = polling & t = LA2EDPs 404 (Not Found)» –

Смежные вопросы