[Modify] Polish it
This commit is contained in:
parent
b711565a34
commit
9dcf1cb427
@ -254,6 +254,7 @@ namespace WebSocketSharp.Net
|
|||||||
private static void onRead (IAsyncResult asyncResult)
|
private static void onRead (IAsyncResult asyncResult)
|
||||||
{
|
{
|
||||||
var conn = (HttpConnection) asyncResult.AsyncState;
|
var conn = (HttpConnection) asyncResult.AsyncState;
|
||||||
|
|
||||||
if (conn._socket == null)
|
if (conn._socket == null)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
@ -263,29 +264,35 @@ namespace WebSocketSharp.Net
|
|||||||
|
|
||||||
var nread = -1;
|
var nread = -1;
|
||||||
var len = 0;
|
var len = 0;
|
||||||
|
|
||||||
try {
|
try {
|
||||||
var current = conn._reuses;
|
var current = conn._reuses;
|
||||||
|
|
||||||
if (!conn._timeoutCanceled[current]) {
|
if (!conn._timeoutCanceled[current]) {
|
||||||
conn._timer.Change (Timeout.Infinite, Timeout.Infinite);
|
conn._timer.Change (Timeout.Infinite, Timeout.Infinite);
|
||||||
conn._timeoutCanceled[current] = true;
|
conn._timeoutCanceled[current] = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
nread = conn._stream.EndRead (asyncResult);
|
nread = conn._stream.EndRead (asyncResult);
|
||||||
|
|
||||||
conn._requestBuffer.Write (conn._buffer, 0, nread);
|
conn._requestBuffer.Write (conn._buffer, 0, nread);
|
||||||
len = (int) conn._requestBuffer.Length;
|
len = (int) conn._requestBuffer.Length;
|
||||||
}
|
}
|
||||||
catch (Exception ex) {
|
catch (Exception ex) {
|
||||||
if (conn._requestBuffer != null && conn._requestBuffer.Length > 0) {
|
if (conn._requestBuffer != null && conn._requestBuffer.Length > 0) {
|
||||||
conn.SendError (ex.Message, 400);
|
conn.SendError (ex.Message, 400);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
conn.close ();
|
conn.close ();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (nread <= 0) {
|
if (nread <= 0) {
|
||||||
conn.close ();
|
conn.close ();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -295,19 +302,24 @@ namespace WebSocketSharp.Net
|
|||||||
|
|
||||||
if (conn._context.HasError) {
|
if (conn._context.HasError) {
|
||||||
conn.SendError ();
|
conn.SendError ();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
HttpListener lsnr;
|
HttpListener lsnr;
|
||||||
|
|
||||||
if (!conn._listener.TrySearchHttpListener (conn._context.Request.Url, out lsnr)) {
|
if (!conn._listener.TrySearchHttpListener (conn._context.Request.Url, out lsnr)) {
|
||||||
conn.SendError (null, 404);
|
conn.SendError (null, 404);
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (conn._lastListener != lsnr) {
|
if (conn._lastListener != lsnr) {
|
||||||
conn.removeConnection ();
|
conn.removeConnection ();
|
||||||
|
|
||||||
if (!lsnr.AddConnection (conn)) {
|
if (!lsnr.AddConnection (conn)) {
|
||||||
conn.close ();
|
conn.close ();
|
||||||
|
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -315,6 +327,7 @@ namespace WebSocketSharp.Net
|
|||||||
}
|
}
|
||||||
|
|
||||||
conn._context.Listener = lsnr;
|
conn._context.Listener = lsnr;
|
||||||
|
|
||||||
if (!conn._context.Authenticate ())
|
if (!conn._context.Authenticate ())
|
||||||
return;
|
return;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user