node.js - Keep getting "socket.io/?EIO=3&transport=polling&t=Lvm1SGO" 404 errors when I deploy on server -
my app works fine on localhost once upload keep getting "socket.io/?eio=3&transport=polling&t=lvm1sgo" 404 errors keep listing in console. sorry if stupid question new socket.io. here can inspect , see error in action: http://95.211.186.223/projects/webrtc/work/p2pimage/
my client.js file:
// file meant 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 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); }); }); my server.js file:
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") });
you problem trying contact nodejs server on apache server.
the problem apache doesn't know how handle incoming socket.io request. simplest option expand server , let socket.io connect port: 
so same before.
in example setup, have apache installed on dev server (like 1 mentioned). have access servers shell.
transfer files holding express , socket.io files server (besides web root directory, not in /var/www. recommend put in /home/myusername/[productname]).
make sure nodejs , npm installed on server
if didn't transfer node_modules, execute
npm installinstall packages.set port other 80 - 3000. remember number.
start server on client (
node index.jsor similar)if access server know via port 3000 (http://myserverdomainorip:3000) should same results on client. want (or have) use apache web server. open in apache web files file starts socket.io client. there should line around this:
var socket = io();. changesocket.connect('http://myserverdomainorip:3000');
so static files serverd on apache, socket.io connection established nodejs server.
i hope understand bit right know. apache , socket.io bit complicated.

Comments
Post a Comment