diff --git a/websocket-sharp/Net/WebSockets/TcpListenerWebSocketContext.cs b/websocket-sharp/Net/WebSockets/TcpListenerWebSocketContext.cs index f95eeb98..6b08ce28 100644 --- a/websocket-sharp/Net/WebSockets/TcpListenerWebSocketContext.cs +++ b/websocket-sharp/Net/WebSockets/TcpListenerWebSocketContext.cs @@ -58,6 +58,7 @@ namespace WebSocketSharp.Net.WebSockets private Uri _requestUri; private bool _secure; private System.Net.EndPoint _serverEndPoint; + private Socket _socket; private Stream _stream; private TcpClient _tcpClient; private IPrincipal _user; @@ -80,6 +81,8 @@ namespace WebSocketSharp.Net.WebSockets _secure = secure; _log = log; + _socket = tcpClient.Client; + var netStream = tcpClient.GetStream (); if (secure) { @@ -102,9 +105,8 @@ namespace WebSocketSharp.Net.WebSockets _stream = netStream; } - var sock = tcpClient.Client; - _serverEndPoint = sock.LocalEndPoint; - _userEndPoint = sock.RemoteEndPoint; + _serverEndPoint = _socket.LocalEndPoint; + _userEndPoint = _socket.RemoteEndPoint; _request = HttpRequest.ReadRequest (_stream, 90000); _websocket = new WebSocket (this, protocol); @@ -120,6 +122,12 @@ namespace WebSocketSharp.Net.WebSockets } } + internal Socket Socket { + get { + return _socket; + } + } + internal Stream Stream { get { return _stream;