The RawDatagramSocket is a low-level interface to an UDP socket, exposing the raw events signaled by the system. It's a Stream of RawSocketEvents.

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

Inheritance

Static Methods

bind(host, int port, {bool reuseAddress: true}) → Future<RawDatagramSocket>

Creates a new raw datagram socket binding it to an address and port.

Properties

address InternetAddress
read-only

Returns the address used by this socket.

broadcastEnabled bool
read / write

Set or get, whether IPv4 broadcast is enabled.

first Future<RawSocketEvent>
read-only, inherited

Returns the first element of the stream.

isBroadcast bool
read-only, inherited

Reports whether this stream is a broadcast stream.

isEmpty Future<bool>
read-only, inherited

Reports whether this stream contains any elements.

last Future<RawSocketEvent>
read-only, inherited

Returns the last element of the stream.

length Future<int>
read-only, inherited

Counts the elements in the stream.

multicastHops int
read / write

Set or get, the maximum network hops for multicast packages originating from this socket.

multicastInterface NetworkInterface
read / write

Set or get, the network interface used for outgoing multicast packages.

multicastLoopback bool
read / write

Set or get, whether multicast traffic is looped back to the host.

port int
read-only

Returns the port used by this socket.

readEventsEnabled bool
read / write

Set or get, if the RawDatagramSocket should listen for RawSocketEvent.READ events. Default is true.

single Future<RawSocketEvent>
read-only, inherited

Returns the single element.

writeEventsEnabled bool
read / write

Set or get, if the RawDatagramSocket should listen for RawSocketEvent.WRITE events. Default is true. This is a one-shot listener, and writeEventsEnabled must be set to true again to receive another write event.

Constructors

RawDatagramSocket()

Methods

any(bool test(T element)) → Future<bool>
inherited

Checks whether test accepts any element provided by this stream.

asBroadcastStream({void onListen(StreamSubscription<T> subscription), void onCancel(StreamSubscription<T> subscription)}) → Stream<RawSocketEvent>
inherited

Returns a multi-subscription stream that produces the same events as this.

asyncExpand(Stream convert(T event)) → Stream
inherited

Creates a new stream with the events of a stream per original event.

asyncMap(dynamic convert(T event)) → Stream
inherited

Creates a new stream with each data event of this stream asynchronously mapped to a new event.

close() → void

Close the datagram socket.

contains(Object needle) → Future<bool>
inherited

Checks whether needle occurs in the elements provided by this stream.

distinct([bool equals(T previous, T next)]) → Stream<RawSocketEvent>
inherited

Skips data events if they are equal to the previous data event.

drain([futureValue]) → Future
inherited

Discards all data on the stream, but signals when it's done or an error occured.

elementAt(int index) → Future<RawSocketEvent>
inherited

Returns the value of the indexth data event of this stream.

every(bool test(T element)) → Future<bool>
inherited

Checks whether test accepts all elements provided by this stream.

expand(Iterable convert(T value)) → Stream
inherited

Creates a new stream from this stream that converts each element into zero or more events.

firstWhere(bool test(T element), {Object defaultValue()}) → Future
inherited

Finds the first element of this stream matching test.

fold(initialValue, dynamic combine(previous, T element)) → Future
inherited

Reduces a sequence of values by repeatedly applying combine.

forEach(void action(T element)) → Future
inherited

Executes action on each data event of the stream.

handleError(Function onError, {bool test(error)}) → Stream<RawSocketEvent>
inherited

Creates a wrapper Stream that intercepts some errors from this stream.

join([String separator = ""]) → Future<String>
inherited

Collects string of data events' string representations.

joinMulticast(InternetAddress group, {NetworkInterface interface}) → void

Join a multicast group.

lastWhere(bool test(T element), {Object defaultValue()}) → Future
inherited

Finds the last element in this stream matching test.

leaveMulticast(InternetAddress group, {NetworkInterface interface}) → void

Leave a multicast group.

listen(void onData(T event), {Function onError, void onDone(), bool cancelOnError}) → StreamSubscription<RawSocketEvent>
inherited

Adds a subscription to this stream.

map(dynamic convert(T event)) → Stream
inherited

Creates a new stream that converts each element of this stream to a new value using the convert function.

pipe(StreamConsumer<RawSocketEvent> streamConsumer) → Future
inherited

Pipe the events of this stream into streamConsumer.

receive() → Datagram

Receive a datagram. If there are no datagrams available null is returned.

reduce(T combine(T previous, T element)) → Future<RawSocketEvent>
inherited

Reduces a sequence of values by repeatedly applying combine.

send(List<int> buffer, InternetAddress address, int port) → int

Send a datagram.

singleWhere(bool test(T element)) → 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(T 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 n values of this stream.

takeWhile(bool test(T element)) → Stream<RawSocketEvent>
inherited

Forwards data events while test is successful.

timeout(Duration timeLimit, {void onTimeout(EventSink sink)}) → Stream
inherited

Creates a new stream with the same events as this stream.

toList() → Future<List<RawSocketEvent>>
inherited

Collects the data of this stream in a List.

toSet() → Future<Set<RawSocketEvent>>
inherited

Collects the data of this stream in a Set.

transform(StreamTransformer<RawSocketEvent> streamTransformer) → Stream
inherited

Chains this stream as the input of the provided StreamTransformer.

where(bool test(T event)) → Stream<RawSocketEvent>
inherited

Creates a new stream from this stream that discards some data events.