Mon application fonctionne correctement sur localhost mais une fois que je l'ai téléchargée, je reçois toujours "socket.io/?EIO=3 & transport = interrogation & t = Lvm1SGO "404 erreurs qui continuent d'être répertoriées dans la console. Désolé si c'est une question stupide mais je suis assez nouveau avec socket.io. Voici où vous pouvez vérifier et voir l'erreur dans l'action: http://95.211.186.223/projects/webrtc/work/P2PImage/Continuer à recevoir des erreurs "socket.io/?EIO=3&transport=polling&t=Lvm1SGO" 404 lors de mon déploiement sur le serveur
Mon fichier Client.js:
// this file is meant to be browserified
var P2P = require("socket.io-p2p");
var io = require("socket.io-client");
var ss = require("socket.io-stream");
var socket = io();
var opts = {autoUpgrade: true, peerOpts: {numClients: 10}};
var p2p = new P2P(socket, opts);
var $ = require("jquery");
p2p.on("peer-num", function(num) {
console.log("You are peer number " + num);
$(".peerNum").html("Number " + num);
});
p2p.on("file", function(stream) {
//console.log(stream);
var img = document.createElement("img");
img.src = (window.URL || window.webkitURL).createObjectURL(new Blob(stream));
document.getElementById("receivedImages").appendChild(img);
});
$(function() {
$("#file").change(function(e) {
ss.forceBase64 = true;
var file = e.target.files[0];
var stream = ss.createStream();
ss(socket).emit("file", stream, {size: file.size,name:file.name});
var blobStream = ss.createBlobReadStream(file);
var size = 0;
blobStream.on("data", function(chunk) {
size += chunk.length;
console.log(Math.floor(size/file.size * 100) + "%");
});
blobStream.pipe(stream);
});
});
Mon fichier server.js:
var app = require("express")();
var express = require("express");
var server = require("http").Server(app);
var p2pserver = require("socket.io-p2p-server").Server;
var io = require("socket.io")(server);
var ss = require("socket.io-stream");
var path = require("path");
app.use(express.static(__dirname));
io.use(p2pserver);
var peerNum = 0;
io.on("connection", function(socket) {
console.log("Peer " + peerNum + " connected");
io.emit("peer-num", peerNum);
peerNum++;
ss(socket).on("file", function(stream, data) {
var filename = path.basename(data.name);
var parts = [];
stream.on("data", function(data) {
parts.push(data);
});
stream.on("end", function() {
socket.broadcast.emit("file", parts);
});
});
});
server.listen(3000, function() {
console.log("Listening on 3000")
});
On dirait qu'il s'agit d'un serveur apache: http://95.211.186.223/projects/webrtc/work/P2PImage/socket.io Socket.io est uniquement disponible dans le script node.js.Vous devez soit ajouter un proxy à apache ou installer nginx, soit changer le port que le serveur express écoute. – Larce
Je vois. Je vous remercie. Vous avez mentionné "ou changez le port que le serveur express écoute". Cela signifie qu'il existe une solution qui n'utilise pas ngnix? Si oui, comment puis-je accomplir cela? Encore une fois. Vraiment désolé pour les questions stupides. Je suis très nouveau à ce sujet. –