Конструктор WebSocket.fromUpgradedSocket
- Socket socket,
- {String? protocol,
- bool? serverSide,
- CompressionOptions compression = CompressionOptions.compressionDefault}
Создает WebSocket на основе сокета, для которого уже выполнено обновление.
Первоначальное рукопожатие WebSocket должно быть выполнено до этого вызова. Клиент WebSocket может автоматически выполнить рукопожатие с помощью WebSocket.connect, а сервер — с помощью WebSocketTransformer.upgrade. Для ручного обновления HttpRequest можно вызвать HttpResponse.detachSocket.
protocol должен быть протоколом, согласованным при этом рукопожатии, если он есть.
serverSide необходимо передать явно. Если это false, WebSocket будет действовать как клиент и маскировать отправляемые сообщения. Если это true, он будет действовать как сервер и не будет маскировать свои сообщения.
Если указан compression, созданный WebSocket будет настроен на согласование с указанным CompressionOptions. Если значение не указано, WebSocket будет создан с параметрами CompressionOptions по умолчанию.
Реализация
factory WebSocket.fromUpgradedSocket(Socket socket,
{String? protocol,
bool? serverSide,
CompressionOptions compression = CompressionOptions.compressionDefault}) {
if (serverSide == null) {
throw ArgumentError("The serverSide argument must be passed "
"explicitly to WebSocket.fromUpgradedSocket.");
}
return _WebSocketImpl._fromSocket(
socket, protocol, compression, serverSide);
}
© 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/WebSocket/WebSocket.fromUpgradedSocket.html