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.

Extends

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

InternetAddress address
read-only
Returns the address used by this socket.
bool broadcastEnabled
read / write
Set or get, whether IPv4 broadcast is enabled.
Future<RawSocketEvent> first
read-only, inherited
Returns the first element of the stream.
bool isBroadcast
read-only, inherited
Reports whether this stream is a broadcast stream.
Future<bool> isEmpty
read-only, inherited
Reports whether this stream contains any elements.
Future<RawSocketEvent> last
read-only, inherited
Returns the last element of the stream.
Future<int> length
read-only, inherited
Counts the elements in the stream.
int multicastHops
read / write
Set or get, the maximum network hops for multicast packages originating from this socket.
NetworkInterface multicastInterface
read / write
Set or get, the network interface used for outgoing multicast packages.
bool multicastLoopback
read / write
Set or get, whether multicast traffic is looped back to the host.
int port
read-only
Returns the port used by this socket.
bool readEventsEnabled
read / write
Set or get, if the RawDatagramSocket should listen for RawSocketEvent.READ events. Default is true. /
Future<RawSocketEvent> single
read-only, inherited
Returns the single element.
bool writeEventsEnabled
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.