प्रौद्योगिकी साझेदारी

WebSocket、socket.io-ग्राहक

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

WebSocket इति

WebSocket एकः संजालसञ्चारप्रोटोकॉलः अस्ति यः एकस्मिन् दीर्घकालीननिरतः TCP संयोजने पूर्ण-द्वयात्मकसञ्चारस्य कृते एकं चैनलं प्रदाति ।

WebSocket क्लायन्ट्-सर्वरयोः मध्ये द्विदिशा-दत्तांश-आदान-प्रदानस्य अनुमतिं ददाति, यस्य अर्थः अस्ति यत् सर्वरः क्लायन्ट्-अनुरोधस्य प्रतीक्षां विना सक्रियरूपेण क्लायन्ट्-पर्यन्तं दत्तांशं धक्कायितुं शक्नोति WebSocket संयोजनस्य स्थापनायाः अनन्तरं क्लायन्ट् सर्वरः च कदापि दत्तांशं प्रेषयितुं शक्नुवन्ति, येन वास्तविकसमये अन्तरक्रियाशीलता च महती उन्नतिः भवति ।

सॉकेट.io-ग्राहक

अग्रभागस्य उपयोगं कुर्वन् प्रत्यक्षतया उत्तीर्णं कर्तुं शक्नुवन्तिnew WebSocketप्रयोगं कर्तुं, परन्तु देशीयस्य प्रयोगःWebSocket प्रदत्तानि कार्याणि तुल्यकालिकरूपेण सरलाः सन्ति, भवद्भिः स्वयमेव काश्चन समस्याः निबद्धव्याः ।एतत् उपयुज्य उपलभ्यतेsocket.io-clientसंचालनं कर्तुं

socket.io-client देशी WebSocket API इत्यनेन सह तुलने, एतत् समृद्धतरविशेषताः व्यापकं च संगततां च प्रदाति, येन बहुषु सन्दर्भेषु इदं उत्तमं विकल्पं भवति ।निम्नलिखितम् अस्तिsocket.io-client केचन मुख्याः लाभाः : १.

  1. संगतता:
    socket.io-client WebSocket इत्यस्य समर्थनं न कुर्वन्ति ब्राउजर्-मध्ये अन्येषु संचरण-विधिषु स्वयमेव पुनः पतन्ति, यथा long-polling, Flash Sockets इत्यादयः, येन सुनिश्चितं भवति यत् ते प्रायः सर्वेषु आधुनिक-ब्राउजर्-मध्ये तथा च केषुचित् प्राचीन-ब्राउजर्-मध्ये कार्यं कुर्वन्ति

  2. स्वयमेव पुनः संयोजयन्तु:
    यदा जालसंयोजनं बाधितं भवति अथवा सर्वरः पुनः आरभते तदाsocket.io-client पुनः संयोजनस्य प्रयासः स्वयमेव कर्तुं शक्यते, यदा तु देशी WebSocket इत्यस्य पुनर्संयोजनतर्कस्य हस्तचलितनियन्त्रणस्य आवश्यकता भवति ।

  3. त्रुटिनियन्त्रणम्:
    socket.io-client संजालदोषाणां उत्तमं प्रतिवेदनं निबन्धनं च कर्तुं अधिकं सम्पूर्णं त्रुटिनियन्त्रणतन्त्रं प्रदाति ।

मूलभूतः प्रयोगः

socket.io-client क्लायन्ट् (प्रायः ब्राउजर् अथवा Node.js अनुप्रयोगः) इत्यत्र Socket.IO सर्वरेण सह संवादं कर्तुं पुस्तकालयः अस्ति । एतत् एकं शक्तिशालीं एपिआइ प्रदाति यत् वास्तविकसमये द्विपक्षीयसञ्चारं नियन्त्रयितुं शक्नोति, यत्र स्वचालितपुनःसंयोजनं, हृदयस्पन्दनपरिचयः, त्रुटिनियन्त्रणम् इत्यादीनि कार्याणि सन्ति ।

प्रतिस्था

प्रथमं भवता संस्थापनीयम् socket.io-client . स्वस्य परियोजनानिर्देशिकायां निम्नलिखितम् आदेशं चालयन्तु ।

npm install socket.io-client
  • 1

आयात मॉड्यूल

स्वस्य JavaScript सञ्चिकायां, परिचयार्थं ES6 module import विधिं उपयोक्तुं शक्नुवन्ति socket.io-client

import { io } from 'socket.io-client';
  • 1

अथवा, यदि भवान् CommonJS मॉड्यूल् उपयुज्यते तर्हि एतत् कर्तुं शक्नोति:

const io = require('socket.io-client');
  • 1

Socket उदाहरणं रचयन्तु

Socket instance इत्यस्य निर्माणार्थं प्रायः सर्वरस्य URL मध्ये पारीकरणं आवश्यकं भवति । एषः सापेक्षमार्गः (एकस्यैव डोमेननामस्य कृते) अथवा पूर्णः URL (क्रॉस्-डोमेन-सम्बद्धानां कृते) भवितुम् अर्हति । उदाहरणतया:

const socket = io('http://localhost:3000');
const socket = io('https://yourdomain.com');
const socket = io("wss://server-domain.com");
  • 1
  • 2
  • 3

घटनानां कृते शृणुत

एकवारं Socket उदाहरणं निर्माय भवन्तः विविधानि घटनानि श्रोतुं शक्नुवन्ति, यथा संयोजनस्थितिपरिवर्तनं, सन्देशप्राप्तिः इत्यादयः ।

socket.on('connect', () => {
  console.log('Connected to server');
});

socket.on('disconnect', (reason) => {
  console.log('Disconnected from server', reason);
});

socket.on('message', (data) => {
  console.log('Received message from server', data);
});
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11

दत्तांशं प्रेषयन्तु

भवन्तः उपयोक्तुं शक्नुवन्ति emit विधिः सर्वरं प्रति घटनाः, दत्तांशं च प्रेषयन्ति ।

socket.emit('chat message', { message: 'Hello from the client!' });
  • 1

विच्छेदं कुर्वन्तु

यदा संयोजनस्य आवश्यकता नास्ति तदा Socket संयोजनं स्पष्टतया बन्दं कर्तुं शक्यते:

socket.disconnect();
  • 1

सम्पूर्ण उदाहरण

अत्र ग्राहकपक्षे कथं तस्य उपयोगः करणीयः इति दर्शयति सम्पूर्णं उदाहरणम् socket.io-client

import { io } from 'socket.io-client';

// 创建 Socket 实例
const socket = io('http://localhost:3000');

// 监听连接事件
socket.on('connect', () => {
  console.log('Connected to server');
});

// 监听接收消息事件
socket.on('message', (data) => {
  console.log('Received message from server', data);
});

// 发送消息到服务器
socket.emit('chat message', { message: 'Hello from the client!' });

// 当组件销毁时,关闭 Socket 连接
// 如果你是在 Vue 或 React 的生命周期钩子中使用,确保在这里调用 disconnect
// 或者使用适当的事件来触发断开连接
// socket.disconnect();
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22