सॉकेट के लिए Node.js क्लाइंट


120

मेरे पास एक सॉकेट है। सर्वर चल रहा है और एक सॉकेट के साथ एक मेल वेबपेज। क्लाइंट। सभी ठीक काम करता है।

लेकिन, मैं सोच रहा था कि क्या यह संभव है, एक और मशीन पर, एक अलग नोड.जेएस एप्लिकेशन को चलाने के लिए जो क्लाइंट के रूप में कार्य करेगा और उल्लिखित सॉकेट.आईओ सर्वर से कनेक्ट होगा?


2
मैं सॉकेट से प्रतिक्रिया कैसे देखूँ?
कोडकॉबॉय

1
Github.com/LearnBoost/socket.io-client प्रलेखन के माध्यम से जाओ , मुझे यकीन है कि यह वहां है। यह एक समय हो गया है, इसलिए मुझे याद नहीं है, क्षमा करें ...
प्राग्रैग स्टोडादिनोविक

6
यदि io.connectआपका उल्लेख किया गया है तो यह काम नहीं कर रहा है। इसे इस प्रकार कहा जाना चाहिए:socket = io.connect('http://localhost:1337');
सेरेमिस

जवाबों:


74

सॉकेट.आईओ-क्लाइंट का उपयोग करना संभव होना चाहिए: https://github.com/LearnBoost/socket.io-client


8
उह, मैं गलत हो सकता हूं, लेकिन यह क्लाइंट की तरह दिखता है जो ब्राउज़र के भीतर चलता है। मुझे जो चाहिए वो है स्टैंड-अलोन नोड.जेएस क्लाइंट।
प्राग्रैग स्टोजादिनोविक

मैंने हाल ही में जाँच नहीं की है, लेकिन नोड 0.4.x में यह सर्वर पर भी काम करता है (मैंने वास्तव में इसे पिछले प्रोजेक्ट में लागू किया है)।
एलेसियोलेक्स

1
मुझे खुशी है कि यह आपके लिए काम कर रहा है! Btw, यह एक अलग जवाब के बजाय सवाल पर अपने काम के उदाहरण डाल करने के लिए बेहतर है।
ऐलेसियोलेक्स

यह मेरे लिए विंडोज 8 पर सही ढंग से स्थापित नहीं हुआ - मैंने इसके लिए एक बग लिखा
बीटी

@ PredragStojadinović: क्या आप कृपया अपना कोड पोस्ट कर सकते हैं? मैं एक नोड को दूसरे से गंभीर रूप से जोड़ना चाहता हूं। क्या तुम मेरी मदद कर सकते हो? धन्यवाद।
प्रीतम

43

पहले दिए गए समाधान के लिए उदाहरण में जोड़ना। Https://github.com/socketio/socket.io-client का उपयोग करकेsocket.io-client

ग्राहक की ओर:

//client.js
var io = require('socket.io-client');
var socket = io.connect('http://localhost:3000', {reconnect: true});

// Add a connect listener
socket.on('connect', function (socket) {
    console.log('Connected!');
});
socket.emit('CH01', 'me', 'test msg');

सर्वर साइड :

//server.js
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);

io.on('connection', function (socket){
   console.log('connection');

  socket.on('CH01', function (from, msg) {
    console.log('MSG', from, ' saying ', msg);
  });

});

http.listen(3000, function () {
  console.log('listening on *:3000');
});

Daud :

2 कंसोल खोलें और चलाएँ node server.jsऔरnode client.js


2
बहुत बढ़िया उदाहरण! एक बात, क्लाइंट की ओर से, मुझे विश्वास नहीं है कि कनेक्शन इवेंट पर "सॉकेट" वेरिएबल पास हो जाता है। हो सकता है कि मैं गलत हूँ, लेकिन वह व्यवहार मैं NPM socket.io-ग्राहक के साथ दिखाई दे रही है प्रतीत हो रहा है
रयान एस

8

सॉकेट स्थापित करने के बाद। ग्राहक:

npm install socket.io-client

ग्राहक कोड कैसा दिखता है:

var io = require('socket.io-client'),
socket = io.connect('localhost', {
    port: 1337
});
socket.on('connect', function () { console.log("socket connected"); });
socket.emit('private message', { user: 'me', msg: 'whazzzup?' });

धन्यवाद alessioalex


0

हाँ आप किसी भी क्लाइंट का उपयोग तब तक कर सकते हैं जब तक वह सॉकेट.आईओ द्वारा समर्थित हो। कोई फर्क नहीं पड़ता कि उसका नोड, जावा, एंड्रॉइड या स्विफ्ट। आपको बस सॉकेट.io का क्लाइंट पैकेज स्थापित करना है।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.