Привет, у меня возникли проблемы с получением сокета io для работы за пределами примера из их учебника. Проблема заключается в том, когда я хочу, чтобы вызвать chatDiv.html с сайта на локальный сервер ApacheSocket IO not found (404)
У меня есть сервер элемента дерева называется расслоение плотной index.js
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.use(function (req, res, next) {
// Website you wish to allow to connect
res.setHeader('Access-Control-Allow-Origin', 'http://localhost');
// Request methods you wish to allow
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
// Request headers you wish to allow
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
// Set to true if you need the website to include cookies in the requests sent
// to the API (e.g. in case you use sessions)
res.setHeader('Access-Control-Allow-Credentials', true);
// Pass to next layer of middleware
next();
});
app.get('/', function(req, res){
res.sendFile(__dirname + '/chatDiv.html');
});
io.on('connection', function(socket){
console.log('a user connected');
socket.on('chat message', function(msg){
io.emit('chat message', msg);
console.log(msg);
});
});
http.listen(3000, function(){
console.log('listening on *:3000');
клиента файл загружен на сервер chatDiv. HTML
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
<script src="http://code.jquery.com/jquery-1.11.1.js"></script>
<div class="chat body">
<ul style="width:100%;height:100px;" id="messages"></ul>
<input style="width:100px;height:20px"id="m" autocomplete="off"> </input><button id="sendM" >Send</button>
</div>
Наконец я хочу, чтобы взаимодействовать с сокетом гипергликемии с моего сервера Apache я сделать это путем загрузки содержимого chatDiv.html в контейнер, как так
<script src="http://localhost:3000/socket.io/socket.io.js"></script>
$(document).ready(function() {
$("#chatContainer").load("http://localhost:3000/", function() {
console.log('loaded chatdiv');
var socket = io();
$("#chatContainer").on("click", "#sendM", function() {
console.log('clicked');
});
});
});
Теперь содержимое chatDiv загружается на мой сайт, и я могу увидеть загружаемый файл сокета. Но он получает ошибку при вызове var socket = io();
GET http://localhost/socket.io/?EIO=3&transport=polling&t=L8zL8x0 404 (Not Found)
ошибка была GET HTTP: //localhost/socket.io/ EIO = 3 & транспорт = опроса и т = L8zL8x0 404 (Not Found) или вам это нужно, чтобы быть более конкретным? ? – user2202098
Вы пробовали "sudo" как admin? – YooManFoo