RawDatagramSocket class

A RawDatagramSocket is 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

address InternetAddress
Returns the address used by this socket.
read-only
broadcastEnabled bool
Set or get, whether IPv4 broadcast is enabled. [...]
read / write
multicastHops int
Set or get, the maximum network hops for multicast packages originating from this socket. [...]
read / write
multicastInterface NetworkInterface
Set or get, the network interface used for outgoing multicast packages. [...]
@Deprecated("This property is not implemented. Use getRawOption and " "setRawOption instead."), read / write
multicastLoopback bool
Set or get, whether multicast traffic is looped back to the host. [...]
read / write
port int
Returns the port used by this socket.
read-only
readEventsEnabled bool
Set or get, if the RawDatagramSocket should listen for RawSocketEvent.read events. Default is true.
read / write
writeEventsEnabled bool
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.
read / write
first Future<RawSocketEvent>
The first element of this stream. [...]
read-only, inherited
hashCode int
The hash code for this object. [...]
read-only, inherited
isBroadcast bool
Whether this stream is a broadcast stream.
read-only, inherited
isEmpty Future<bool>
Whether this stream contains any elements. [...]
read-only, inherited
last Future<RawSocketEvent>
The last element of this stream. [...]
read-only, inherited
length Future<int>
The number of elements in this stream. [...]
read-only, inherited
runtimeType Type
A representation of the runtime type of the object.
read-only, inherited
single Future<RawSocketEvent>
The single element of this stream. [...]
read-only, inherited

Methods

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

Operators

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

Static Methods

bind(dynamic host, int port, { bool reuseAddress: true, bool reusePort: false, int ttl: 1 }) Future<RawDatagramSocket>
Creates a new raw datagram socket binding it to an address and port.