Класс RawDatagramSocket
Небуферизованный интерфейс сокета UDP.
Сокет сырых датаграмм передает датаграммы в тех же блоках, что и основная операционная система. Это — поток RawSocketEvent.
Обратите внимание, что событие RawSocketEvent.readClosed никогда не будет получено, поскольку сокет UDP не может быть закрыт удалённым узлом.
Он отличается от сырого сокета POSIX.
- Наследование
-
- Object
-
Stream<
RawSocketEvent> - RawDatagramSocket
Конструкторы
- RawDatagramSocket()
Свойства
- address → InternetAddress только для чтения
- Адрес, используемый этим сокетом.
- broadcastEnabled ↔ bool чтение/запись
- Включено ли IPv4-вещание.
- first → Future<
RawSocketEvent> только для чтения, унаследованное - Первый элемент этого потока.
- hashCode → int только для чтения, унаследованное
- Хэш-код этого объекта.
- isBroadcast → bool только для чтения, унаследованное
- Является ли этот поток потоком вещания.
- isEmpty → Future<
bool> только для чтения, унаследованное - Содержит ли этот поток какие-либо элементы.
- last → Future<
RawSocketEvent> только для чтения, унаследованное - Последний элемент этого потока.
- length → Future<
int> только для чтения, унаследованное - Количество элементов в этом потоке.
- multicastHops ↔ int чтение/запись
- Максимальное количество сетевых переходов для мультивещательных пакетов, исходящих от этого сокета.
- multicastInterface ↔ NetworkInterface? @Deprecated("This property is not implemented. Use getRawOption and " "setRawOption instead."), чтение/запись
- Сетевой интерфейс, используемый для исходящих мультивещательных пакетов.
- multicastLoopback ↔ bool чтение/запись
- Возвращает ли мультивещательный трафик обратно хосту.
- port → int только для чтения
- Порт, используемый этим сокетом.
- readEventsEnabled ↔ bool чтение/запись
- Следует ли RawDatagramSocket прослушивать события RawSocketEvent.read.
- runtimeType → Type только для чтения, унаследованное
- Представление типа объекта в процессе выполнения.
- single → Future<
RawSocketEvent> только для чтения, унаследованное - Единственный элемент этого потока.
- writeEventsEnabled ↔ bool чтение/запись
- Следует ли RawDatagramSocket прослушивать события RawSocketEvent.write.
Методы
- 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 - Создает новый поток, в котором каждое событие данных этого потока асинхронно отображается в новое событие.
- cast<
R>( ) → Stream< R> inherited - Адаптирует этот поток, чтобы он стал
Stream<R>. - close(
) → void - Закрывает сокет для работы с дейтаграммами.
- 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 - Считывает низкоуровневую информацию о RawSocket.
- handleError(
Function onError, {bool test(dynamic error)?}) → Stream< RawSocketEvent> inherited - Создает оборачивающий поток, который перехватывает некоторые ошибки из этого потока.
- join(
[String separator = ""]) → Future< String> inherited - Объединяет строковое представление элементов в одну строку.
- joinMulticast(
InternetAddress group, [NetworkInterface? interface]) → void - Присоединяется к мультивещательной группе.
- lastWhere(
bool test(RawSocketEvent element), {RawSocketEvent orElse()?}) → Future< RawSocketEvent> inherited - Находит последний элемент в этом потоке, соответствующий
test. - leaveMulticast(
InternetAddress group, [NetworkInterface? interface]) → void - Выходит из мультивещательной группы.
- 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. - receive(
) → Datagram? - Принимает дейтаграмму.
- reduce(
RawSocketEvent combine(RawSocketEvent previous, RawSocketEvent element)) → Future< RawSocketEvent> inherited - Объединяет последовательность значений, многократно применяя
combine. - send(
List< int> buffer, InternetAddress address, int port) → int - Отправляет дейтаграмму.
- setRawOption(
RawSocketOption option) → void - Настраивает RawSocket.
- 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 - Создает новый поток из этого потока, отбрасывая некоторые элементы.
Операторы
- operator ==(
Object other) → bool inherited - Оператор равенства.
Статические методы
- bind(
dynamic host, int port, {bool reuseAddress = true, bool reusePort = false, int ttl = 1}) → Future< RawDatagramSocket> - Связывает сокет с заданным
hostиport.
© 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/RawDatagramSocket-class.html