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.