Kötü sonuçlarla socket.io ile kurulmuş bir sunucu kurmaya çalışıyorum. biraz eskimiş olsasocket.io - işe yaradıramadı, bir tür yoklama çağrısı 404'sı var
çoğunlukla, bu kılavuzu takip ediyorum: istemci veya sunucu tarafı ise http://www.williammora.com/2013/03/nodejs-tutorial-building-chatroom-with.html
sorun socket.io ile gelir, emin değilim. Sunucuyu sürekli olarak sorgulamaya çalışıyor gibi görünüyor, ancak 404'leri geri alıyor. Bu soket gibi çalışmıyor, ama hepsi bana iyi görünüyor. Ayrıca yollar ile ve "genel" bir dizine sahip olmakla ilgili bir şey olabilir, ama gerçekten bilmiyorum.
127.0.0.1 - - [Thu, 17 Jul 2014 00:51:36 GMT] "GET /socket.io/?EIO=2&transport=polling&t=1405558296120-0 HTTP/1.1" 404 73 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.76.4 (KHTML, like Gecko) Version/7.0.4 Safari/537.76.4"
127.0.0.1 - - [Thu, 17 Jul 2014 00:51:37 GMT] "GET /socket.io/?EIO=2&transport=polling&t=1405558297181-1 HTTP/1.1" 404 73 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.76.4 (KHTML, like Gecko) Version/7.0.4 Safari/537.76.4"
127.0.0.1 - - [Thu, 17 Jul 2014 00:51:39 GMT] "GET /socket.io/?EIO=2&transport=polling&t=1405558299207-2 HTTP/1.1" 404 73 "http://localhost:8080/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_9_3) AppleWebKit/537.76.4 (KHTML, like Gecko) Version/7.0.4 Safari/537.76.4"
Sunucu
var exec = require("child_process").exec;
var path = require("path");
var morgan = require("morgan");
var bodyParser = require("body-parser");
var _ = require("underscore");
var express = require("express");
var app = express();
var http = require("http").createServer(app);
var io = require("socket.io")(http);
app.set("ipaddr", "127.0.0.1");
app.set("port", 8080);
//support JSON, urlencoded, and multipart requests
app.use(bodyParser());
//log the requests using morgan
app.use(morgan());
//specify the Jade views folder
app.set("views", __dirname + "/../views");
//set the view engine to Jade
app.set("view engine", "jade");
//specify static content
app.use(express[ "static" ]("public", __dirname + "/../public")); //using map-access of static so jslint won't bitch
io.on("connection", function(socket)
{
console.log("A user connected.");
});
Müşteri
script(src="js/socket.io.js")
var socket = io.connect("http://localhost:8080");
ben aşamasındaki müşteri js dosyası var: node_modules/socket.io/node_modules/socket.io-istemci/soket.io.js
Bu yol, kullandığım öğreticinin ne yazdığını veya hangi socket.io'nun kullanacağını söylemesiyle eşleşmiyor, bu yüzden sorun belki de doğru dosya gibi görünüyor.
Burada herhangi bir yardım var mı? Ben sunucu tarafında socket.io başlar nerede
Webserver/
my_modules/
server.js
node_modules/
body-parser/
express/
jade/
morgan/
socket.io/
underscore/
public/
css/
js/
server.js
views/
index.jade
index.js
package.json
my_modules klasöründe server.js geçerli: Ek bilgi için
DÜZENLEME , burada benim klasör hiyerarşisi. Js klasöründeki server.js, web sitesinden bağlanacak istemci kodudur.
Nginx (veya başka bir web sunucusu) düğümün önünde mi kullanıyorsunuz? eğer öyleyse, düzgün bir şekilde düğümlemek için proxy değil gibi görünüyor. – Curious
Nope, sadece düz bir şekilde, benim için gerekli olan tüm şeylerle birlikte (express vb.). Nginx veya apache yok. – Eli