| Index: runtime/bin/socket_patch.dart
|
| diff --git a/runtime/bin/socket_patch.dart b/runtime/bin/socket_patch.dart
|
| index 0e9c25f9d499a5f95cd063c4ef5e39cbaa60103d..2c3a9084bf56dc1f8ae9f4f018dd1a2df350229d 100644
|
| --- a/runtime/bin/socket_patch.dart
|
| +++ b/runtime/bin/socket_patch.dart
|
| @@ -74,6 +74,9 @@ class _NativeSocket extends NativeFieldWrapperClass1 {
|
| // Holds the port of the socket, null if not known.
|
| int localPort;
|
|
|
| + // Holds the host or address used to connect or bind the socket.
|
| + String localHost;
|
| +
|
| // Native port for socket services.
|
| static SendPort socketService;
|
|
|
| @@ -86,6 +89,7 @@ class _NativeSocket extends NativeFieldWrapperClass1 {
|
| createError(response, "Failed host name lookup"));
|
| } else {
|
| var socket = new _NativeSocket.normal();
|
| + socket.localHost = host;
|
| var result = socket.nativeCreateConnect(response, port);
|
| if (result is OSError) {
|
| completer.completeError(createError(result, "Connection failed"));
|
| @@ -113,6 +117,7 @@ class _NativeSocket extends NativeFieldWrapperClass1 {
|
| int port,
|
| int backlog) {
|
| var socket = new _NativeSocket.listen();
|
| + socket.localHost = address;
|
| var result = socket.nativeCreateBindListen(address, port, backlog);
|
| if (result is OSError) {
|
| return new Future.immediateError(
|
| @@ -201,6 +206,8 @@ class _NativeSocket extends NativeFieldWrapperClass1 {
|
| return nativeGetRemotePeer()[1];
|
| }
|
|
|
| + String get host => localHost;
|
| +
|
| String get remoteHost {
|
| return nativeGetRemotePeer()[0];
|
| }
|
| @@ -560,6 +567,8 @@ class _RawSocket extends Stream<RawSocketEvent>
|
|
|
| int get remotePort => _socket.remotePort;
|
|
|
| + String get host => _socket.host;
|
| +
|
| String get remoteHost => _socket.remoteHost;
|
|
|
| bool get readEventsEnabled => _readEventsEnabled;
|
|
|