Какие примеры кода для использования WebSocket API в JavaScript?

Пользователь

от rodger.botsford , в категории: JavaScript , год назад

Какие примеры кода для использования WebSocket API в JavaScript?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от willa_will , год назад

@rodger.botsford 

  1. Создание WebSocket соединения:


const socket = new WebSocket('ws://localhost:8080');

  1. Отправка сообщения через WebSocket соединение:


socket.send('Hello Server!');

  1. Обработка события при открытии соединения:


socket.addEventListener('open', () => { console.log('WebSocket connection has been established.'); });

  1. Обработка события при закрытии соединения:


socket.addEventListener('close', () => { console.log('WebSocket connection has been closed.'); });

  1. Обработка события при ошибке соединения:


socket.addEventListener('error', (event) => { console.error('WebSocket connection error:', event); });

  1. Получение сообщений от сервера:


socket.addEventListener('message', (event) => { console.log('Message from server:', event.data); });

  1. Закрытие WebSocket соединения:


socket.close();

Пользователь

от elissa , год назад

@rodger.botsford 

Примеры использования WebSocket API в JavaScript:

  1. Создание WebSocket соединения:
1
var connection = new WebSocket('ws://localhost:1234');


  1. Отправка данных на сервер:
1
connection.send('Hello, server!');


  1. Обработка сообщений от сервера:
1
2
3
connection.onmessage = function(event) {
  console.log('Received message: ' + event.data);
};


  1. Обработка ошибок соединения:
1
2
3
connection.onerror = function(error) {
  console.error('WebSocket Error ' + error);
};


  1. Закрытие соединения:
1
connection.close();


  1. Проверка статуса соединения:
1
2
3
if (connection.readyState === WebSocket.OPEN) {
  // WebSocket соединение открыто и готово к использованию
}


  1. Пример использования WebSocket API в React-компоненте:
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
import React, { Component } from 'react';

class WebSocketComponent extends Component {
  state = {
    messages: [],
    currentMessage: ''
  };

  constructor(props) {
    super(props);
    this.connection = new WebSocket('ws://localhost:1234');
  }

  componentDidMount() {
    this.connection.onmessage = this.handleMessage;
  }

  componentWillUnmount() {
    this.connection.close();
  }

  handleMessage = (event) => {
    const messages = [...this.state.messages];
    messages.push(event.data);
    this.setState({ messages });
  }

  handleInput = (event) => {
    this.setState({ currentMessage: event.target.value });
  }

  handleSubmit = (event) => {
    event.preventDefault();
    this.connection.send(this.state.currentMessage);
    this.setState({ currentMessage: '' });
  }

  render() {
    const { messages, currentMessage } = this.state;
    return (
      
        
          {messages.map((message, index) => (
            {message}
          ))}
        
        
          
          Send
        
      
    );
  }
}

export default WebSocketComponent;