Класс WebSocketTransformer
WebSocketTransformer позволяет преобразовать HttpRequest в соединение WebSocket. Поддерживается преобразование как одного HttpRequest, так и потока объектов HttpRequest.
Для преобразования одного HttpRequest используйте статический метод upgrade.
HttpServer server;
server.listen((request) {
if (...) {
WebSocketTransformer.upgrade(request).then((websocket) {
...
});
} else {
// Do normal HTTP request processing.
}
}); Для преобразования потока событий HttpRequest реализует преобразователь потоков, который преобразует поток HttpRequest в поток WebSocket, переводя каждый HttpRequest с HTTP- или HTTPS-сервера на протокол WebSocket.
server.transform(new WebSocketTransformer()).listen((webSocket) => ...);
Этот преобразователь стремится реализовать WebSocket в соответствии со спецификацией RFC6455.
- Реализуемые типы
Конструкторы
- WebSocketTransformer({dynamic protocolSelector(List<
String> protocols)?, CompressionOptions compression = CompressionOptions.compressionDefault}) фабричный - Создает новый WebSocketTransformer.
Свойства
- hashCode → int только для чтения, унаследовано
- Хеш-код этого объекта.
- runtimeType → Type только для чтения, унаследовано
- Представление типа объекта во время выполнения.
Методы
- bind(
Stream< HttpRequest> stream) → Stream< WebSocket> унаследовано - Преобразует предоставленный
stream. - cast<
RS, RT>( ) → StreamTransformer< RS, RT> унаследовано - Предоставляет представление
StreamTransformer<RS, RT>этого преобразователя потоков. - noSuchMethod(
Invocation invocation) → dynamic унаследовано - Вызывается при обращении к несуществующему методу или свойству.
- toString(
) → String унаследовано - Строковое представление этого объекта.
Операторы
- operator ==(
Object other) → bool унаследовано - Оператор равенства.
Статические методы
- isUpgradeRequest(
HttpRequest request) → bool - Проверяет, является ли запрос допустимым запросом на переключение на WebSocket.
- upgrade(
HttpRequest request, {dynamic protocolSelector(List< String> protocols)?, CompressionOptions compression = CompressionOptions.compressionDefault}) → Future< WebSocket> - Преобразует HttpRequest в соединение
WebSocket. Если запрос не является допустимым запросом на переключение на WebSocket, будет возвращен HTTP-ответ с кодом состояния 500. В противном случае возвращенный future завершится объектомWebSocketпосле завершения процесса преобразования.
© 2012 the Dart project authors
Licensed under the BSD 3-Clause "New" or "Revised" License.
https://api.dart.dev/stable/2.19.6/dart-io/WebSocketTransformer-class.html