Socket.io-client: Node js - عميل Socket.io غير متصل بخادم socket.io

تم إنشاؤها على ١٧ مارس ٢٠١٥  ·  7تعليقات  ·  مصدر: socketio/socket.io-client

أحاول الاتصال بعميل socket.io باستخدام الكود التالي:

الخادم:

// متطلبات التحميل
var http = يتطلب ("http") ،
io = تتطلب ('socket.io') ؛

// إنشاء خادم ومقبس
var server = http.createServer (الوظيفة (الطلب ، الدقة) {

// Send HTML headers and message
res.writeHead(404, {'Content-Type': 'text/html'});
res.end('<h1>Aw, snap! 404</h1>');

}) ؛
server.listen (8080) ؛
io = io.listen (الخادم) ؛

// أضف مستمع اتصال
io.sockets.on ("اتصال" ، الوظيفة (المقبس) {

console.log('Client connected.');

// Disconnect listener
socket.on('disconnect', function() {
    console.log('Client disconnected.');
});

}) ؛

عميل:

console.log ('1') ؛

// اتصل بالخادم
var io = يتطلب ('socket.io-client')
var socket = io.connect ('localhost: 8080'، {إعادة الاتصال: صحيح}) ؛

console.log ('2') ؛

// أضف مستمع اتصال
socket.on ('connect'، function (socket) {
console.log ('متصل!') ؛
}) ؛

console.log ('3') ؛

لا أحصل على سجل وحدة التحكم المتصلة أو سجل وحدة التحكم Client Connected ولا أعرف السبب! تم أخذ نموذج التعليمات البرمجية من سؤال آخر تم نشره: ارتباط ولا أرى أي حل للمشكلة ...

http://stackoverflow.com/questions/29108594/node-js-socket-io-client-is-not-connecting-to-socket-io-server

التعليق الأكثر فائدة

لقد غيرت من localhost إلى 127.0.0.1 وقد نجحت.

ال 7 كومينتر

// اتصل بالخادم
var io = يتطلب ('socket.io-client')
var socket = io.connect ('localhost: 8080'، {إعادة الاتصال: صحيح}) ؛

استخدم مثل هذا

// اتصل بالخادم
var io = يتطلب ('socket.io-client')
var socket = io.connect ('http: // localhost: 8080'، {إعادة الاتصال: صحيح}) ؛

لدي نفس المشكلة بعد إضافة الأسطر أدناه ، لم يتم حل مشكلة الاتصال.

var io = يتطلب ('socket.io-client')
var socket = io.connect ('http: // localhost: 8080'، {إعادة الاتصال: صحيح}) ؛

المشكلة نفسها. اعملوا لي ايضا ...

لدي نفس المشكلة ، لم تنجح

لقد غيرت من localhost إلى 127.0.0.1 وقد نجحت.

لقد غيرت من localhost إلى 127.0.0.1 وقد نجحت.

لم يعمل بالنسبة لي .

للقراء في المستقبل ، تحتاج إلى تحديد البروتوكول صراحةً (نظرًا لأن عملية Node.js لا تحتوي على كائن window.location يمكن أن تستنتج البروتوكول منه ، وهو ما يتم القيام به في المتصفح هنا ).

// does not work
io.connect("localhost:8080");
// does work
io.connect("http://localhost:8080");

ومع ذلك ، أعتقد أن العميل يجب أن يخطئ بدلاً من الفشل بصمت.

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات