[Modify] Add it
This commit is contained in:
parent
b06f3a71c0
commit
af335569fe
@ -622,6 +622,79 @@ namespace WebSocketSharp.Server
|
|||||||
_websocket.CloseAsync ();
|
_websocket.CloseAsync ();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Closes the WebSocket connection for a session asynchronously with
|
||||||
|
/// the specified code and reason.
|
||||||
|
/// </summary>
|
||||||
|
/// <remarks>
|
||||||
|
/// <para>
|
||||||
|
/// This method does not wait for the close to be complete.
|
||||||
|
/// </para>
|
||||||
|
/// <para>
|
||||||
|
/// This method does nothing if the current state of the connection is
|
||||||
|
/// Closing or Closed.
|
||||||
|
/// </para>
|
||||||
|
/// </remarks>
|
||||||
|
/// <param name="code">
|
||||||
|
/// <para>
|
||||||
|
/// A <see cref="ushort"/> that represents the status code indicating
|
||||||
|
/// the reason for the close.
|
||||||
|
/// </para>
|
||||||
|
/// <para>
|
||||||
|
/// The status codes are defined in
|
||||||
|
/// <see href="http://tools.ietf.org/html/rfc6455#section-7.4">
|
||||||
|
/// Section 7.4</see> of RFC 6455.
|
||||||
|
/// </para>
|
||||||
|
/// </param>
|
||||||
|
/// <param name="reason">
|
||||||
|
/// <para>
|
||||||
|
/// A <see cref="string"/> that represents the reason for the close.
|
||||||
|
/// </para>
|
||||||
|
/// <para>
|
||||||
|
/// The size must be 123 bytes or less in UTF-8.
|
||||||
|
/// </para>
|
||||||
|
/// </param>
|
||||||
|
/// <exception cref="InvalidOperationException">
|
||||||
|
/// The session has not started yet.
|
||||||
|
/// </exception>
|
||||||
|
/// <exception cref="ArgumentOutOfRangeException">
|
||||||
|
/// <para>
|
||||||
|
/// <paramref name="code"/> is less than 1000 or greater than 4999.
|
||||||
|
/// </para>
|
||||||
|
/// <para>
|
||||||
|
/// -or-
|
||||||
|
/// </para>
|
||||||
|
/// <para>
|
||||||
|
/// The size of <paramref name="reason"/> is greater than 123 bytes.
|
||||||
|
/// </para>
|
||||||
|
/// </exception>
|
||||||
|
/// <exception cref="ArgumentException">
|
||||||
|
/// <para>
|
||||||
|
/// <paramref name="code"/> is 1010 (mandatory extension).
|
||||||
|
/// </para>
|
||||||
|
/// <para>
|
||||||
|
/// -or-
|
||||||
|
/// </para>
|
||||||
|
/// <para>
|
||||||
|
/// <paramref name="code"/> is 1005 (no status) and there is reason.
|
||||||
|
/// </para>
|
||||||
|
/// <para>
|
||||||
|
/// -or-
|
||||||
|
/// </para>
|
||||||
|
/// <para>
|
||||||
|
/// <paramref name="reason"/> could not be UTF-8-encoded.
|
||||||
|
/// </para>
|
||||||
|
/// </exception>
|
||||||
|
protected void CloseAsync (ushort code, string reason)
|
||||||
|
{
|
||||||
|
if (_websocket == null) {
|
||||||
|
var msg = "The session has not started yet.";
|
||||||
|
throw new InvalidOperationException (msg);
|
||||||
|
}
|
||||||
|
|
||||||
|
_websocket.CloseAsync (code, reason);
|
||||||
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Calls the <see cref="OnError"/> method with the specified message.
|
/// Calls the <see cref="OnError"/> method with the specified message.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
Loading…
Reference in New Issue
Block a user