Modified WebSocket.cs
This commit is contained in:
parent
c365d1b521
commit
9515f7e734
@ -88,9 +88,9 @@ namespace WebSocketSharp {
|
|||||||
private volatile WsState _readyState;
|
private volatile WsState _readyState;
|
||||||
private AutoResetEvent _receivePong;
|
private AutoResetEvent _receivePong;
|
||||||
private bool _secure;
|
private bool _secure;
|
||||||
|
private WsStream _stream;
|
||||||
private TcpClient _tcpClient;
|
private TcpClient _tcpClient;
|
||||||
private Uri _uri;
|
private Uri _uri;
|
||||||
private WsStream _wsStream;
|
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
@ -118,7 +118,7 @@ namespace WebSocketSharp {
|
|||||||
internal WebSocket(HttpListenerWebSocketContext context)
|
internal WebSocket(HttpListenerWebSocketContext context)
|
||||||
: this()
|
: this()
|
||||||
{
|
{
|
||||||
_wsStream = context.Stream;
|
_stream = context.Stream;
|
||||||
_closeContext = () => context.Close();
|
_closeContext = () => context.Close();
|
||||||
init(context);
|
init(context);
|
||||||
}
|
}
|
||||||
@ -126,7 +126,7 @@ namespace WebSocketSharp {
|
|||||||
internal WebSocket(TcpListenerWebSocketContext context)
|
internal WebSocket(TcpListenerWebSocketContext context)
|
||||||
: this()
|
: this()
|
||||||
{
|
{
|
||||||
_wsStream = context.Stream;
|
_stream = context.Stream;
|
||||||
_closeContext = () => context.Close();
|
_closeContext = () => context.Close();
|
||||||
init(context);
|
init(context);
|
||||||
}
|
}
|
||||||
@ -336,7 +336,7 @@ namespace WebSocketSharp {
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <remarks>
|
/// <remarks>
|
||||||
/// The default logging level is the <see cref="LogLevel.ERROR"/>.
|
/// The default logging level is the <see cref="LogLevel.ERROR"/>.
|
||||||
/// If you wanted to change the current logging level, you would set the <c>Log.Level</c> property
|
/// If you want to change the current logging level, you set the <c>Log.Level</c> property
|
||||||
/// to one of the <see cref="LogLevel"/> values which you want.
|
/// to one of the <see cref="LogLevel"/> values which you want.
|
||||||
/// </remarks>
|
/// </remarks>
|
||||||
/// <value>
|
/// <value>
|
||||||
@ -608,10 +608,10 @@ namespace WebSocketSharp {
|
|||||||
// As client
|
// As client
|
||||||
private void closeResourcesAsClient()
|
private void closeResourcesAsClient()
|
||||||
{
|
{
|
||||||
if (_wsStream != null)
|
if (_stream != null)
|
||||||
{
|
{
|
||||||
_wsStream.Dispose();
|
_stream.Dispose();
|
||||||
_wsStream = null;
|
_stream = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (_tcpClient != null)
|
if (_tcpClient != null)
|
||||||
@ -627,7 +627,7 @@ namespace WebSocketSharp {
|
|||||||
if (_context != null && _closeContext != null)
|
if (_context != null && _closeContext != null)
|
||||||
{
|
{
|
||||||
_closeContext();
|
_closeContext();
|
||||||
_wsStream = null;
|
_stream = null;
|
||||||
_context = null;
|
_context = null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -645,7 +645,7 @@ namespace WebSocketSharp {
|
|||||||
|
|
||||||
while (true)
|
while (true)
|
||||||
{
|
{
|
||||||
var frame = _wsStream.ReadFrame();
|
var frame = _stream.ReadFrame();
|
||||||
if (processAbnormal(frame))
|
if (processAbnormal(frame))
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
@ -818,7 +818,7 @@ namespace WebSocketSharp {
|
|||||||
// As client
|
// As client
|
||||||
private bool doHandshake()
|
private bool doHandshake()
|
||||||
{
|
{
|
||||||
setWsStream();
|
setClientStream();
|
||||||
return processResponseHandshake(sendRequestHandshake());
|
return processResponseHandshake(sendRequestHandshake());
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1176,7 +1176,7 @@ namespace WebSocketSharp {
|
|||||||
// As client
|
// As client
|
||||||
private ResponseHandshake receiveResponseHandshake()
|
private ResponseHandshake receiveResponseHandshake()
|
||||||
{
|
{
|
||||||
var res = ResponseHandshake.Parse(_wsStream.ReadHandshake());
|
var res = ResponseHandshake.Parse(_stream.ReadHandshake());
|
||||||
_logger.Debug("Response handshake from server:\n" + res.ToString());
|
_logger.Debug("Response handshake from server:\n" + res.ToString());
|
||||||
|
|
||||||
return res;
|
return res;
|
||||||
@ -1186,21 +1186,21 @@ namespace WebSocketSharp {
|
|||||||
private void send(RequestHandshake request)
|
private void send(RequestHandshake request)
|
||||||
{
|
{
|
||||||
_logger.Debug("Request handshake to server:\n" + request.ToString());
|
_logger.Debug("Request handshake to server:\n" + request.ToString());
|
||||||
_wsStream.WriteHandshake(request);
|
_stream.WriteHandshake(request);
|
||||||
}
|
}
|
||||||
|
|
||||||
// As server
|
// As server
|
||||||
private void send(ResponseHandshake response)
|
private void send(ResponseHandshake response)
|
||||||
{
|
{
|
||||||
_logger.Debug("Response handshake to client:\n" + response.ToString());
|
_logger.Debug("Response handshake to client:\n" + response.ToString());
|
||||||
_wsStream.WriteHandshake(response);
|
_stream.WriteHandshake(response);
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool send(WsFrame frame)
|
private bool send(WsFrame frame)
|
||||||
{
|
{
|
||||||
lock (_forFrame)
|
lock (_forFrame)
|
||||||
{
|
{
|
||||||
var ready = _wsStream == null
|
var ready = _stream == null
|
||||||
? false
|
? false
|
||||||
: _readyState == WsState.OPEN
|
: _readyState == WsState.OPEN
|
||||||
? true
|
? true
|
||||||
@ -1217,7 +1217,7 @@ namespace WebSocketSharp {
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
return _wsStream.WriteFrame(frame);
|
return _stream.WriteFrame(frame);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1367,12 +1367,12 @@ namespace WebSocketSharp {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// As client
|
// As client
|
||||||
private void setWsStream()
|
private void setClientStream()
|
||||||
{
|
{
|
||||||
var host = _uri.DnsSafeHost;
|
var host = _uri.DnsSafeHost;
|
||||||
var port = _uri.Port;
|
var port = _uri.Port;
|
||||||
_tcpClient = new TcpClient(host, port);
|
_tcpClient = new TcpClient(host, port);
|
||||||
_wsStream = WsStream.CreateClientStream(_tcpClient, _secure, host, _certValidationCallback);
|
_stream = WsStream.CreateClientStream(_tcpClient, _secure, host, _certValidationCallback);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void startReceiving()
|
private void startReceiving()
|
||||||
@ -1387,7 +1387,7 @@ namespace WebSocketSharp {
|
|||||||
{
|
{
|
||||||
processFrame(frame);
|
processFrame(frame);
|
||||||
if (_readyState == WsState.OPEN)
|
if (_readyState == WsState.OPEN)
|
||||||
_wsStream.ReadFrameAsync(completed);
|
_stream.ReadFrameAsync(completed);
|
||||||
else
|
else
|
||||||
_exitReceiving.Set();
|
_exitReceiving.Set();
|
||||||
}
|
}
|
||||||
@ -1403,7 +1403,7 @@ namespace WebSocketSharp {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
_wsStream.ReadFrameAsync(completed);
|
_stream.ReadFrameAsync(completed);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endregion
|
#endregion
|
||||||
|
Loading…
Reference in New Issue
Block a user