Я получаю 404 на URLs, как это: http://localhost.dev/socket.io/?EIO=3&transport=polling&t=1411749802784-54
socket.io делает 404 запросов
SOCKET IO версия: 1.x
APP.JS
var express = require("express"),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server),
server.listen(8080);
app.get('/', function(req,res){
console.log('started');
});
//Receive message
io.sockets.on('connection',function(socket){
socket.on('send message',function(data){
//Send message out
io.sockets.emit('new message',data);
});
});
Так что я мой сайт, который работает на port 80
и nodejs на порту 8080
, и я включаю файл socket.io js следующим образом: <script src="http://localhost.dev:8080/socket.io/socket.io.js"></script>
, и я могу открыть socket.io.js
файл в новой вкладке, но я думаю, что это имеет какое-то отношение к новой версии, я просто начинаю с узла.
// LE
$(document).ready(function(){
//Socket.io
var socket = io.connect();
//Form
var $messageForm = $('#chatForm');
var $messageFormInput = $messageForm.find('#messageText');
var $chat = $('.chat');
//Bind submit form
$messageForm.submit(function(e){
e.preventDefault();
socket.emit('send message',$messageFormInput.val());
//Clear input
$messageFormInput.val('');
});
//Receive message
socket.on('new message',function(data){
$chat.append(data);
});
});
Кто-нибудь знает, как я могу это исправить?
Если вы получаете 404 ошибки в консоли на 'HTTP: //localhost.dev/socket.io/ EIO = 3 & транспорт = опроса и т = 1411749802784-54' то вы не можете добавьте скрипт из порта 8080 правильно на своей странице. Тот факт, что URL не является «http: //localhost.dev: 8080/socket.io /», является довольно хорошим индикатором того, что что-то фанки происходит с URL-адресом, а не node/socket.io – Brian
Как вы можете видеть так или иначе он не делает запрос на порт ': 8080', если вы посмотрите на первый 404-адрес URL-адреса – Uffo
. Вы дважды проверили свой источник HTML (просмотрев исходный код или проверив с помощью инструментов консоли разработчика), чтобы убедиться, что тег скрипта, который просматривает браузер на самом деле есть 8080 на нем? Если в теге скрипта указано 8080, запрос должен быть равен 8080. Либо это, либо у вас есть плагин в вашем браузере, заставляя его игнорировать порт. Браузер не будет игнорировать порт 8080 по URL-адресу сам по себе. – Brian