RawDatagramSocket class

An unbuffered interface to a UDP socket.

The raw datagram socket delivers the datagrams in the same chunks as the underlying operating system. It's a Stream of RawSocketEvents.

Note that the event RawSocketEvent.readClosed will never be received as an UDP socket cannot be closed by a remote peer.

It is not the same as a POSIX raw socket.

Inheritance

Constructors

RawDatagramSocket()

Properties

addressInternetAddress
read-only
The address used by this socket.
broadcastEnabledbool
read / write
Whether IPv4 broadcast is enabled. [...]
firstFuture<RawSocketEvent>
read-only, inherited
The first element of this stream. [...]
hashCodeint
read-only, inherited
The hash code for this object. [...]
isBroadcastbool
read-only, inherited
Whether this stream is a broadcast stream.
isEmptyFuture<bool>
read-only, inherited
Whether this stream contains any elements. [...]
lastFuture<RawSocketEvent>
read-only, inherited
The last element of this stream. [...]
lengthFuture<int>
read-only, inherited
The number of elements in this stream. [...]
multicastHopsint
read / write
The maximum network hops for multicast packages originating from this socket. [...]
multicastInterfaceNetworkInterface?
@Deprecated("This property is not implemented. Use getRawOption and " "setRawOption instead."), read / write
The network interface used for outgoing multicast packages. [...]
multicastLoopbackbool
read / write
Whether multicast traffic is looped back to the host. [...]
portint
read-only
The port used by this socket.
readEventsEnabledbool
read / write
Whether the RawDatagramSocket should listen for RawSocketEvent.read events. [...]
runtimeTypeType
read-only, inherited
A representation of the runtime type of the object.
singleFuture<RawSocketEvent>
read-only, inherited
The single element of this stream. [...]
writeEventsEnabledbool
read / write
Whether the RawDatagramSocket should listen for RawSocketEvent.write events. [...]

Methods

any(bool test(RawSocketEvent element)) → Future<bool>
inherited
Checks whether test accepts any element provided by this stream. [...]
asBroadcastStream({void onListen(StreamSubscription<RawSocketEvent> subscription), void onCancel(StreamSubscription<RawSocketEvent> subscription)}) → Stream<RawSocketEvent>
inherited
Returns a multi-subscription stream that produces the same events as this. [...]
asyncExpand<E>(Stream<E>? convert(RawSocketEvent event)) → Stream<E>
inherited
Transforms each element into a sequence of asynchronous events. [...]
asyncMap<E>(FutureOr<E> convert(RawSocketEvent event)) → Stream<E>
inherited
Creates a new stream with each data event of this stream asynchronously mapped to a new event. [...]
cast<R>() → Stream<R>
inherited
Adapt this stream to be a Stream<R>. [...]
close() → void
Closes the datagram socket.
contains(Object? needle) → Future<bool>
inherited
Returns whether needle occurs in the elements provided by this stream. [...]
distinct([bool equals(RawSocketEvent previous, RawSocketEvent next)]) → Stream<RawSocketEvent>
inherited
Skips data events if they are equal to the previous data event. [...]
drain<E>([E? futureValue]) → Future<E>
inherited
Discards all data on this stream, but signals when it is done or an error occurred. [...]
elementAt(int index) → Future<RawSocketEvent>
inherited
Returns the value of the indexth data event of this stream. [...]
every(bool test(RawSocketEvent element)) → Future<bool>
inherited
Checks whether test accepts all elements provided by this stream. [...]
expand<S>(Iterable<S> convert(RawSocketEvent element)) → Stream<S>
inherited
Transforms each element of this stream into a sequence of elements. [...]
firstWhere(bool test(RawSocketEvent element), {RawSocketEvent orElse()}) → Future<RawSocketEvent>
inherited
Finds the first element of this stream matching test. [...]
fold<S>(S initialValue, S combine(S previous, RawSocketEvent element)) → Future<S>
inherited
Combines a sequence of values by repeatedly applying combine. [...]
forEach(void action(RawSocketEvent element)) → Future
inherited
Executes action on each element of this stream. [...]
getRawOption(RawSocketOption option) → Uint8List
Reads low level information about the RawSocket. [...]
handleError(Function onError, {bool test(dynamic error)}) → Stream<RawSocketEvent>
inherited
Creates a wrapper Stream that intercepts some errors from this stream. [...]
join([String separator = ""]) → Future<String>
inherited
Combines the string representation of elements into a single string. [...]
joinMulticast(InternetAddress group, [NetworkInterface? interface]) → void
Joins a multicast group. [...]
lastWhere(bool test(RawSocketEvent element), {RawSocketEvent orElse()}) → Future<RawSocketEvent>
inherited
Finds the last element in this stream matching test. [...]
leaveMulticast(InternetAddress group, [NetworkInterface? interface]) → void
Leaves a multicast group. [...]
listen(void onData(RawSocketEvent event), {Function? onError, void onDone(), bool? cancelOnError}) → StreamSubscription<RawSocketEvent>
inherited
Adds a subscription to this stream. [...]
map<S>(S convert(RawSocketEvent event)) → Stream<S>
inherited
Transforms each element of this stream into a new stream event. [...]
noSuchMethod(Invocation invocation) → dynamic
inherited
Invoked when a non-existent method or property is accessed. [...]
pipe(StreamConsumer<RawSocketEvent> streamConsumer) → Future
inherited
Pipes the events of this stream into streamConsumer. [...]
receive() → Datagram?
Receives a datagram. [...]
reduce(RawSocketEvent combine(RawSocketEvent previous, RawSocketEvent element)) → Future<RawSocketEvent>
inherited
Combines a sequence of values by repeatedly applying combine. [...]
send(List<int> buffer, InternetAddress address, int port) → int
Sends a datagram. [...]
setRawOption(RawSocketOption option) → void
Customizes the RawSocket. [...]
singleWhere(bool test(RawSocketEvent element), {RawSocketEvent orElse()}) → Future<RawSocketEvent>
inherited
Finds the single element in this stream matching test. [...]
skip(int count) → Stream<RawSocketEvent>
inherited
Skips the first count data events from this stream. [...]
skipWhile(bool test(RawSocketEvent element)) → Stream<RawSocketEvent>
inherited
Skip data events from this stream while they are matched by test. [...]
take(int count) → Stream<RawSocketEvent>
inherited
Provides at most the first count data events of this stream. [...]
takeWhile(bool test(RawSocketEvent element)) → Stream<RawSocketEvent>
inherited
Forwards data events while test is successful. [...]
timeout(Duration timeLimit, {void onTimeout(EventSink<RawSocketEvent> sink)}) → Stream<RawSocketEvent>
inherited
Creates a new stream with the same events as this stream. [...]
toList() → Future<List<RawSocketEvent>>
inherited
Collects all elements of this stream in a List. [...]
toSet() → Future<Set<RawSocketEvent>>
inherited
Collects the data of this stream in a Set. [...]
toString() → String
inherited
A string representation of this object. [...]
transform<S>(StreamTransformer<RawSocketEvent, S> streamTransformer) → Stream<S>
inherited
Applies streamTransformer to this stream. [...]
where(bool test(RawSocketEvent event)) → Stream<RawSocketEvent>
inherited
Creates a new stream from this stream that discards some elements. [...]

Operators

operator ==(Object other) → bool
inherited
The equality operator. [...]

Static Methods

bind(dynamic host, int port, {bool reuseAddress = true, bool reusePort = false, int ttl = 1}) → Future<RawDatagramSocket>
Binds a socket to the given host and port. [...]

© 2012 the Dart project authors
Licensed under the Creative Commons Attribution-ShareAlike License v4.0.
https://api.dart.dev/stable/2.13.0/dart-io/RawDatagramSocket-class.html