Класс 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> inherited - Проверяет, принимает ли
testлюбой элемент, предоставляемый этим потоком. - asBroadcastStream(
{void onListen(StreamSubscription< RawSocketEvent> subscription)?, void onCancel(StreamSubscription< RawSocketEvent> subscription)?}) → Stream< RawSocketEvent> inherited - Возвращает поток с несколькими подписками, который генерирует те же события, что и этот.
- asyncExpand<
E>( Stream< E>? convert(RawSocketEvent event)) → Stream< E> inherited - Преобразует каждый элемент в последовательность асинхронных событий.
- asyncMap<
E>( FutureOr< E> convert(RawSocketEvent event)) → Stream< E> inherited - Создает новый поток, в котором каждое событие данных этого потока асинхронно отображается на новое событие.
- available(
) → int - Количество полученных и не прочитанных байтов в сокете, которые можно прочитать.
- cast<
R>( ) → Stream< R> inherited - Адаптирует этот поток, чтобы он стал
Stream<R>. - close(
) → Future< RawSocket> - Закрывает сокет.
- contains(
Object? needle) → Future< bool> inherited - Возвращает значение, существует ли
needleв элементах, предоставляемых этим потоком. - distinct(
[bool equals(RawSocketEvent previous, RawSocketEvent next)?]) → Stream< RawSocketEvent> inherited - Пропускает события данных, если они равны предыдущему событию данных.
- drain<
E>( [E? futureValue]) → Future< E> inherited - Отбрасывает все данные из этого потока, но сигнализирует, когда он завершен или произошла ошибка.
- elementAt(
int index) → Future< RawSocketEvent> inherited - Возвращает значение
index-го события данных этого потока. - every(
bool test(RawSocketEvent element)) → Future< bool> inherited - Проверяет, принимает ли
testвсе элементы, предоставляемые этим потоком. - expand<
S>( Iterable< S> convert(RawSocketEvent element)) → Stream< S> inherited - Преобразует каждый элемент этого потока в последовательность элементов.
- firstWhere(
bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) → Future< RawSocketEvent> inherited - Находит первый элемент этого потока, соответствующий
test. - fold<
S>( S initialValue, S combine(S previous, RawSocketEvent element)) → Future< S> inherited - Объединяет последовательность значений, многократно применяя
combine. - forEach(
void action(RawSocketEvent element)) → Future inherited - Выполняет
actionдля каждого элемента этого потока. - getRawOption(
RawSocketOption option) → Uint8List @Since("2.2") - Считывает низкоуровневую информацию о RawSocket.
- handleError(
Function onError, {bool test(dynamic error)?}) → Stream< RawSocketEvent> inherited - Создает обёртку потока, которая перехватывает некоторые ошибки из этого потока.
- join(
[String separator = ""]) → Future< String> inherited - Объединяет строковое представление элементов в одну строку.
- lastWhere(
bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) → Future< RawSocketEvent> inherited - Находит последний элемент в этом потоке, соответствующий
test. - listen(
void onData(RawSocketEvent event)?, {Function? onError, void onDone()?, bool? cancelOnError}) → StreamSubscription< RawSocketEvent> inherited - Добавляет подписку на этот поток.
- map<
S>( S convert(RawSocketEvent event)) → Stream< S> inherited - Преобразует каждый элемент этого потока в новое событие потока.
- noSuchMethod(
Invocation invocation) → dynamic inherited - Вызывается при обращении к несуществующему методу или свойству.
- pipe(
StreamConsumer< RawSocketEvent> streamConsumer) → Future inherited - Перенаправляет события этого потока в
streamConsumer. - read(
[int? len]) → Uint8List? - Считывает до
lenбайтов из сокета. - readMessage(
[int? count]) → SocketMessage? @Since("2.15") - Считывает сообщение, содержащее до
countбайтов из сокета. - reduce(
RawSocketEvent combine(RawSocketEvent previous, RawSocketEvent element)) → Future< RawSocketEvent> inherited - Объединяет последовательность значений, многократно применяя
combine. - sendMessage(
List< SocketControlMessage> controlMessages, List< int> data, [int offset = 0, int? count]) → int @Since("2.15") - Записывает сообщения управления сокетом и данные в сокет.
- setOption(
SocketOption option, bool enabled) → bool - Настраивает RawSocket.
- setRawOption(
RawSocketOption option) → void @Since("2.2") - Настраивает RawSocket.
- shutdown(
SocketDirection direction) → void - Закрывает сокет в
direction. - singleWhere(
bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) → Future< RawSocketEvent> inherited - Находит единственный элемент в этом потоке, соответствующий
test. - skip(
int count) → Stream< RawSocketEvent> inherited - Пропускает первые
countсобытий данных из этого потока. - skipWhile(
bool test(RawSocketEvent element)) → Stream< RawSocketEvent> inherited - Пропускает события данных из этого потока, пока они соответствуют
test. - take(
int count) → Stream< RawSocketEvent> inherited - Предоставляет не более первых
countсобытий данных из этого потока. - takeWhile(
bool test(RawSocketEvent element)) → Stream< RawSocketEvent> inherited - Пересылает события данных, пока
testвыполняется успешно. - timeout(
Duration timeLimit, {void onTimeout(EventSink< RawSocketEvent> sink)?}) → Stream< RawSocketEvent> inherited - Создает новый поток с такими же событиями, как и этот поток.
- toList(
) → Future< List< RawSocketEvent>> inherited - Собрать все элементы этого потока в
List. - toSet(
) → Future< Set< RawSocketEvent>> inherited - Собрать данные этого потока в
Set. - toString(
) → String inherited - Строковое представление этого объекта.
- transform<
S>( StreamTransformer< RawSocketEvent, S> streamTransformer) → Stream< S> inherited - Применяет
streamTransformerк этому потоку. - where(
bool test(RawSocketEvent event)) → Stream< RawSocketEvent> inherited - Создает новый поток из этого потока, отбрасывая некоторые элементы.
- write(
List< int> buffer, [int offset = 0, int? count]) → int - Записывает не более
countбайтов буфера сoffsetсмещения буфера в сокет.
Операторы
- operator ==(
Object other) → bool inherited - Оператор равенства.
Статические методы
- 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.18.5/dart-io/RawSocket-class.html