Класс RawSocket
TCP-соединение.
Сокетное соединение связывает локальный сокет с удалённым. Данные в виде Uint8List принимаются локальным сокетом и становятся доступны с помощью метода read; их можно отправлять на удалённый сокет с помощью метода write.
Интерфейс Stream этого класса предоставляет уведомления о событиях, когда происходит определённое изменение, например, когда становятся доступны данные (RawSocketEvent.read) или удалённая сторона прекращает прослушивание (RawSocketEvent.closed).
- Реализуемые типы
- Реализующие классы
Конструкторы
- RawSocket()
Свойства
- address → InternetAddress только чтение
- InternetAddress, используемый для подключения этого сокета.
- first → Future<
RawSocketEvent> только чтениеунаследовано - Первый элемент этого потока.
- hashCode → int только чтениеунаследовано
- Хеш-код этого объекта.
- isBroadcast → bool только чтениеунаследовано
- Является ли этот поток широковещательным.
- isEmpty → Future<
bool> только чтениеунаследовано - Содержит ли этот поток какие-либо элементы.
- last → Future<
RawSocketEvent> только чтениеунаследовано - Последний элемент этого потока.
- length → Future<
int> только чтениеунаследовано - Количество элементов в этом потоке.
- port → int только чтение
- Порт, используемый этим сокетом.
- readEventsEnabled ↔ bool чтение / запись
- Установить или получить значение, указывающее, должен ли RawSocket прослушивать события RawSocketEvent.read. Значение по умолчанию:
true. - remoteAddress → InternetAddress только чтение
- Удалённый InternetAddress, к которому подключён этот сокет.
- remotePort → int только чтение
- Удалённый порт, к которому подключён этот сокет.
- runtimeType → Type только чтениеунаследовано
- Представление типа объекта во время выполнения.
- single → Future<
RawSocketEvent> только чтениеунаследовано - Единственный элемент этого потока.
- writeEventsEnabled ↔ bool чтение / запись
- Установить или получить значение, указывающее, должен ли RawSocket прослушивать события RawSocketEvent.write. Значение по умолчанию:
true. Это одноразовый обработчик; чтобы получить следующее событие записи, необходимо снова установить для writeEventsEnabled значение true.
Методы
- any(
bool test(RawSocketEvent element)) → Future< bool> унаследовано - Проверяет, принимает ли
testхотя бы один элемент, предоставленный этим потоком. - asBroadcastStream(
{void onListen(StreamSubscription< RawSocketEvent> subscription)?, void onCancel(StreamSubscription< RawSocketEvent> subscription)?}) → Stream< RawSocketEvent> унаследовано - Возвращает поток с несколькими подписками, который выдаёт те же события, что и этот поток.
- asyncExpand<
E>( Stream< E>? convert(RawSocketEvent event)) → Stream< E> унаследовано - Преобразует каждый элемент в последовательность асинхронных событий.
- asyncMap<
E>( FutureOr< E> convert(RawSocketEvent event)) → Stream< E> унаследовано - Создаёт новый поток, в котором каждое событие данных этого потока асинхронно преобразуется в новое событие.
- available(
) → int - Количество полученных, но ещё не прочитанных байтов в сокете, доступных для чтения.
- cast<
R>( ) → Stream< R> унаследовано - Преобразует этот поток в
Stream<R>. - close(
) → Future< RawSocket> - Закрывает сокет.
- contains(
Object? needle) → Future< bool> унаследовано - Возвращает значение, указывающее, встречается ли
needleсреди элементов, предоставленных этим потоком. - distinct(
[bool equals(RawSocketEvent previous, RawSocketEvent next)?]) → Stream< RawSocketEvent> унаследовано - Пропускает события данных, если они равны предыдущему событию данных.
- drain<
E>( [E? futureValue]) → Future< E> унаследовано - Отбрасывает все данные в этом потоке, но сообщает о его завершении или возникновении ошибки.
- elementAt(
int index) → Future< RawSocketEvent> унаследовано - Возвращает значение события данных с индексом
indexв этом потоке. - every(
bool test(RawSocketEvent element)) → Future< bool> унаследовано - Проверяет, принимает ли
testвсе элементы, предоставленные этим потоком. - expand<
S>( Iterable< S> convert(RawSocketEvent element)) → Stream< S> унаследовано - Преобразует каждый элемент этого потока в последовательность элементов.
- firstWhere(
bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) → Future< RawSocketEvent> унаследовано - Находит первый элемент этого потока, соответствующий
test. - fold<
S>( S initialValue, S combine(S previous, RawSocketEvent element)) → Future< S> унаследовано - Объединяет последовательность значений, многократно применяя
combine. - forEach(
void action(RawSocketEvent element)) → Future унаследовано - Выполняет
actionдля каждого элемента этого потока. - getRawOption(
RawSocketOption option) → Uint8List - Читает низкоуровневую информацию о RawSocket.
- handleError(
Function onError, {bool test(dynamic error)?}) → Stream< RawSocketEvent> унаследовано - Создаёт поток-обёртку, перехватывающий некоторые ошибки этого потока.
- join(
[String separator = ""]) → Future< String> унаследовано - Объединяет строковые представления элементов в одну строку.
- lastWhere(
bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) → Future< RawSocketEvent> унаследовано - Находит последний элемент этого потока, соответствующий
test. - listen(
void onData(RawSocketEvent event)?, {Function? onError, void onDone()?, bool? cancelOnError}) → StreamSubscription< RawSocketEvent> унаследовано - Добавляет подписку на этот поток.
- map<
S>( S convert(RawSocketEvent event)) → Stream< S> унаследовано - Преобразует каждый элемент этого потока в новое событие потока.
- noSuchMethod(
Invocation invocation) → dynamic унаследовано - Вызывается при обращении к несуществующему методу или свойству.
- pipe(
StreamConsumer< RawSocketEvent> streamConsumer) → Future унаследовано - Передаёт события этого потока в
streamConsumer. - read(
[int? len]) → Uint8List? - Читает из сокета до
lenбайтов. - readMessage(
[int? count]) → SocketMessage? - Читает из сокета сообщение, содержащее до
countбайтов. - reduce(
RawSocketEvent combine(RawSocketEvent previous, RawSocketEvent element)) → Future< RawSocketEvent> унаследовано - Объединяет последовательность значений, многократно применяя
combine. - sendMessage(
List< SocketControlMessage> controlMessages, List< int> data, [int offset = 0, int? count]) → int - Записывает управляющие сообщения сокета и байты данных в сокет.
- setOption(
SocketOption option, bool enabled) → bool - Настраивает RawSocket.
- setRawOption(
RawSocketOption option) → void - Настраивает RawSocket.
- shutdown(
SocketDirection direction) → void - Завершает работу сокета в направлении
direction. - singleWhere(
bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) → Future< RawSocketEvent> унаследовано - Находит единственный элемент этого потока, соответствующий
test. - skip(
int count) → Stream< RawSocketEvent> унаследовано - Пропускает первые
countсобытий данных этого потока. - skipWhile(
bool test(RawSocketEvent element)) → Stream< RawSocketEvent> унаследовано - Пропускает события данных этого потока, пока они соответствуют
test. - take(
int count) → Stream< RawSocketEvent> унаследовано - Предоставляет не более первых
countсобытий данных этого потока. - takeWhile(
bool test(RawSocketEvent element)) → Stream< RawSocketEvent> унаследовано - Передаёт события данных, пока
testзавершается успешно. - timeout(
Duration timeLimit, {void onTimeout(EventSink< RawSocketEvent> sink)?}) → Stream< RawSocketEvent> унаследовано - Создаёт новый поток с теми же событиями, что и у этого потока.
- toList(
) → Future< List< RawSocketEvent>> унаследовано - Собирает все элементы этого потока в
List. - toSet(
) → Future< Set< RawSocketEvent>> унаследовано - Собирает данные этого потока в
Set. - toString(
) → String унаследовано - Строковое представление этого объекта.
- transform<
S>( StreamTransformer< RawSocketEvent, S> streamTransformer) → Stream< S> унаследовано - Применяет
streamTransformerк этому потоку. - where(
bool test(RawSocketEvent event)) → Stream< RawSocketEvent> унаследовано - Создаёт на основе этого потока новый поток, отбрасывающий некоторые элементы.
- write(
List< int> buffer, [int offset = 0, int? count]) → int - Записывает в сокет до
countбайтов буфера, начиная со смещенияoffsetв буфере.
Операторы
- operator ==(
Object other) → bool унаследовано - Оператор равенства.
Статические методы
- connect(
dynamic host, int port, {dynamic sourceAddress, int sourcePort = 0, Duration? timeout}) → Future< RawSocket> - Создаёт новое сокетное соединение с указанным узлом и портом.
- startConnect(
dynamic host, int port, {dynamic sourceAddress, int sourcePort = 0}) → Future< ConnectionTask< RawSocket>> - Аналогично connect, но возвращает Future, который завершается объектом
ConnectionTask; его можно отменить, если RawSocket больше не нужен.
© 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/RawSocket-class.html