2015-03-03 9 views
0

Я создаю узел nodejs + express + socket.io.Socket.IO на стороне клиента

Также я создал эшафот через yoman для моего приложения frontend.

socket.io сервер на порту 3000 и мой старшина подмости HTTP сервер на 9000.

мне удалось извлечь socket.io.js с сервера Socket.io с помощью

<script type="text/javascript" src="http://localhost:3000/socket.io/socket.io.js"></script> 

Однако им с этой ошибкой:

GET http://localhost:9000/socket.io/?EIO=3&transport=polling&t=1425392110184-42 404 (Not Found) 

Почему является socket.io.js опроса на порт 9000? Кроме того, как я могу изменить это, чтобы вместо этого опросить 3000?

+0

удалить 'HTTP: // локальный: 3000' из сценария' src' – ashley

+0

я сильно сомневаюсь, что это не проблема. Если я удалю это, я не смогу извлечь клиентский скрипт из сервера socket.io. – Adr

+0

У вас проблема с клиентской стороной. Можете ли вы создать собственное соединение сокета с помощью: var var = new io.Socket(); socket.connect ('http://127.0.0.1:3000'); ' –

ответ

0

Клиент socket.io принимает параметр URL-адреса. Если не указано, он будет подключаться с использованием текущего документа . Это означает, что если URL-адрес документа HTML равен http://localhost:9000, он будет подключен к http://localhost:9000. Укажите его при подключении:

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

Вместо

var socket = io(); 
+0

Да, я уже это понял. Спасибо, в любом случае! – Adr

0

Хорошо, я решил его пропусканием URL в Socket.io в качестве параметра функции io().

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

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