Web套接字|计算机网络。进阶主题



“计算机网络”课程https://www.asozykin.ru/courses/networks_online,有关Web套接字的讲座。

视频讲座演示-https://www.asozykin.ru/assets/pdf/networks/websockets.pdf

Web套接字是TCP / IP堆栈的应用程序层协议,旨在创建实时Web应用程序。

Web套接字和HTTP之间的主要区别是Web套接字在客户端和服务器之间创建双向连接。通过此连接,客户端和服务器可以随时相互发送数据。

Web套接字在RFC 6455标准“ WebSocket协议”中定义-https://tools.ietf.org/html/rfc6455

Web套接字的操作包括两个阶段:
-建立连接。为了支持现有的Web基础结构,HTTP方法与Web套接字的urgrade协议一起使用。
-数据传输。对于数据传输,使用客户端和服务器之间的永久TCP连接。数据以具有二进制头的帧的形式发送。

讲座涵盖建立Web套接字连接的过程,Web套接字的帧格式以及与Web套接字的操作有关的其他主题。

HTTP视频讲座-https://youtu.be/RlccXUx4LVw
TCP视频讲座-https://youtu.be/CKUOb4htnB4

如何支持课程:
1. Yandex钱包-https://money.yandex.ru/to/410014298228017
2. PayPal-https://www.paypal.me/asozykin
预先感谢您的帮助!

在社交网络上添加为朋友:
VKontakte-https://vk.com/avsozykin
脸书-https://www.facebook.com/asozykin
推特-https://twitter.com/AndreySozykin

我的网站是https://www.asozykin.ru

我的频道对IT和计算机科学中的复杂主题做了简短且易于理解的解释-
https://goo.gl/kW93MA。

29 comments
  1. 07:45 А если сервер посылает клиенту сообщение close, то клиент тоже должен ответно отправить close?
    По-моему сервер закрывает сессию не ожидая каких-то ответных сообщений. Хотя на клиенте нужно вызвать close, чтобы состояние сокета перешло из CloseReceived в Close. Не знаю посылает ли клиент сообщение или просто меняет значение состояния.

  2. А что происходит, когда сервер шлет сообщение, а клиент в это время подключен, но не принимает сообщения?

  3. Спасибо за информацию. Очень подробно всё рассказано. Держи лайк.
    Не освящены только 2 вопроса:
    1 – сколько веб сокетов может быть открыто на одном соединении
    2 – что произойдёт, когда количество открытых сокетов будет переполнено.

  4. А как правильно читать RFC, я вот открыл https://tools.ietf.org/html/rfc6455#section-5.2 и не понимаю как читать эту таблицу

    0 1 2 3

    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

    +-+-+-+-+——-+-+————-+——————————-+

    |F|R|R|R| opcode|M| Payload len | Extended payload length |

    |I|S|S|S| (4) |A| (7) | (16/64) |

    |N|V|V|V| |S| | (if payload len==126/127) |

    | |1|2|3| |K| | |

    +-+-+-+-+——-+-+————-+ – – – – – – – – – – – – – – – +

    | Extended payload length continued, if payload len == 127 |

    + – – – – – – – – – – – – – – – +——————————-+

    | |Masking-key, if MASK set to 1 |

    +——————————-+——————————-+

    | Masking-key (continued) | Payload Data |

    +——————————– – – – – – – – – – – – – – – – +

    : Payload Data continued … :

    + – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – – +

    | Payload Data continued … |

    +—————————————————————+

Comments are closed.