أحاول الاتصال بعميل 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 ولا أعرف السبب! تم أخذ نموذج التعليمات البرمجية من سؤال آخر تم نشره: ارتباط ولا أرى أي حل للمشكلة ...
// اتصل بالخادم
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");
ومع ذلك ، أعتقد أن العميل يجب أن يخطئ بدلاً من الفشل بصمت.
التعليق الأكثر فائدة
لقد غيرت من localhost إلى 127.0.0.1 وقد نجحت.