本文整理汇总了C#中CloseStatusCode类的典型用法代码示例。如果您正苦于以下问题:C# CloseStatusCode类的具体用法?C# CloseStatusCode怎么用?C# CloseStatusCode使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
CloseStatusCode类属于命名空间,在下文中一共展示了CloseStatusCode类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: WebSocketException
internal WebSocketException(
CloseStatusCode code, string message, Exception innerException
)
: base(message ?? code.GetMessage (), innerException)
{
_code = code;
}
示例2: Disconnect
public void Disconnect(Action callback, CloseStatusCode code = CloseStatusCode.NoStatus, string reason = null)
{
if (_conn != null)
{
// _conn.OnClose(); //TODO how to clear event handler?
if (code != CloseStatusCode.NoStatus)
{
_conn.Close(code, reason);
}
_conn = null;
}
if (callback != null) callback();
}
示例3: CloseSession
/// <summary>
/// Closes the session with the specified <paramref name="id"/>, <paramref name="code"/>,
/// and <paramref name="reason"/>.
/// </summary>
/// <param name="id">
/// A <see cref="string"/> that represents the ID of the session to close.
/// </param>
/// <param name="code">
/// One of the <see cref="CloseStatusCode"/> enum values, represents the status code
/// indicating the reason for the close.
/// </param>
/// <param name="reason">
/// A <see cref="string"/> that represents the reason for the close.
/// </param>
public void CloseSession(string id, CloseStatusCode code, string reason)
{
IWebSocketSession session;
if (TryGetSession (id, out session))
session.Context.WebSocket.Close (code, reason);
}
示例4: Close
/// <summary>
/// Closes the WebSocket connection with the specified <see cref="CloseStatusCode"/>,
/// and releases all associated resources.
/// </summary>
/// <param name="code">
/// One of the <see cref="CloseStatusCode"/> values that indicate the status codes for closure.
/// </param>
public void Close(CloseStatusCode code)
{
var send = _readyState == WebSocketState.OPEN && !code.IsReserved ();
close (new PayloadData (((ushort) code).ToByteArrayInternally (ByteOrder.BIG)), send, true);
}
示例5: close
private void close(CloseStatusCode code, string reason, bool wait)
{
close (new PayloadData (((ushort) code).Append (reason)), !code.IsReserved (), wait);
}
示例6: CheckCloseParameters
internal static string CheckCloseParameters (CloseStatusCode code, string reason, bool client)
{
return code == CloseStatusCode.NoStatus
? (!reason.IsNullOrEmpty () ? "NoStatus cannot have a reason." : null)
: code == CloseStatusCode.MandatoryExtension && !client
? "MandatoryExtension cannot be used by a server."
: code == CloseStatusCode.ServerError && client
? "ServerError cannot be used by a client."
: !reason.IsNullOrEmpty () && reason.UTF8Encode ().Length > 123
? "A reason has greater than the allowable max size."
: null;
}
示例7: CloseAsync
/// <summary>
/// Closes the WebSocket connection asynchronously with the specified
/// <see cref="CloseStatusCode"/>, and releases all associated resources.
/// </summary>
/// <remarks>
/// This method doesn't wait for the close to be complete.
/// </remarks>
/// <param name="code">
/// One of the <see cref="CloseStatusCode"/> enum values, represents the status code indicating
/// the reason for closure.
/// </param>
public void CloseAsync(CloseStatusCode code)
{
CloseAsync (code, null);
}
示例8: Stop
/// <summary>
/// Stops the current <see cref="WebSocketService"/> instance with the specified
/// <see cref="CloseStatusCode"/> and <see cref="string"/>.
/// </summary>
/// <param name="code">
/// One of the <see cref="CloseStatusCode"/> values that indicates a status code
/// indicating the reason for stop.
/// </param>
/// <param name="reason">
/// A <see cref="string"/> that contains the reason for stop.
/// </param>
public void Stop(CloseStatusCode code, string reason)
{
if (IsBound)
_websocket.Close (code, reason);
}
示例9: fatal
private void fatal (string message, CloseStatusCode code)
{
close (new CloseEventArgs (code, message), !code.IsReserved (), false, false);
}
示例10: Close
/// <summary>
/// Closes the WebSocket connection with the specified <paramref name="code"/> and
/// releases all associated resources.
/// </summary>
/// <param name="code">
/// One of the <see cref="CloseStatusCode"/> values that indicates the status code for closure.
/// </param>
public void Close(CloseStatusCode code)
{
close((ushort)code, String.Empty);
}
示例11: CloseAsync
/// <summary>
/// Closes the WebSocket connection asynchronously with the specified
/// <see cref="CloseStatusCode"/>, and releases all associated resources.
/// </summary>
/// <remarks>
/// This method doesn't wait for the close to be complete.
/// </remarks>
/// <param name="code">
/// One of the <see cref="CloseStatusCode"/> enum values, represents the status code
/// indicating the reason for the close.
/// </param>
public void CloseAsync (CloseStatusCode code)
{
var msg = _readyState.CheckIfClosable ();
if (msg != null) {
_logger.Error (msg);
error ("An error has occurred in closing the connection.", null);
return;
}
if (code.IsNoStatusCode ()) {
closeAsync (new CloseEventArgs (), true, true);
return;
}
var send = !code.IsReserved ();
closeAsync (new CloseEventArgs (code), send, send);
}
示例12: CloseAsync
/// <summary>
/// Closes the WebSocket connection asynchronously with the specified
/// <see cref="CloseStatusCode"/> and <see cref="string"/>, and releases
/// all associated resources.
/// </summary>
/// <remarks>
/// <para>
/// This method doesn't wait for the close to be complete.
/// </para>
/// <para>
/// This method emits a <see cref="OnError"/> event if the size of <paramref name="reason"/>
/// is greater than 123 bytes.
/// </para>
/// </remarks>
/// <param name="code">
/// One of the <see cref="CloseStatusCode"/> enum values, represents the status code
/// indicating the reason for the close.
/// </param>
/// <param name="reason">
/// A <see cref="string"/> that represents the reason for the close.
/// </param>
public void CloseAsync(CloseStatusCode code, string reason)
{
CloseEventArgs e = null;
var msg = _readyState.CheckIfClosable () ??
(e = new CloseEventArgs (code, reason)).RawData.CheckIfValidControlData ("reason");
if (msg != null) {
_logger.Error (msg);
error ("An error has occurred in closing the connection.", null);
return;
}
var send = _readyState == WebSocketState.Open && !code.IsReserved ();
closeAsync (e, send, send);
}
示例13: Close
/// <summary>
/// Closes the WebSocket connection with the specified <see cref="CloseStatusCode"/>,
/// and releases all associated resources.
/// </summary>
/// <param name="code">
/// One of the <see cref="CloseStatusCode"/> enum values, represents the status code
/// indicating the reason for the close.
/// </param>
public void Close(CloseStatusCode code)
{
var msg = _readyState.CheckIfClosable ();
if (msg != null) {
_logger.Error (msg);
error ("An error has occurred in closing the connection.", null);
return;
}
var send = _readyState == WebSocketState.Open && !code.IsReserved ();
close (new CloseEventArgs (code), send, send);
}
示例14: processUnsupportedFrame
private bool processUnsupportedFrame(WebSocketFrame frame, CloseStatusCode code, string reason)
{
processException(new WebSocketException(code, reason), null);
return false;
}
示例15: Close
/// <summary>
/// Closes the WebSocket connection with the specified <see cref="CloseStatusCode"/>
/// and <see cref="string"/>, and releases all associated resources.
/// </summary>
/// <remarks>
/// This method emits a <see cref="OnError"/> event if the size
/// of <paramref name="reason"/> is greater than 123 bytes.
/// </remarks>
/// <param name="code">
/// One of the <see cref="CloseStatusCode"/> enum values, represents the status code
/// indicating the reason for the close.
/// </param>
/// <param name="reason">
/// A <see cref="string"/> that represents the reason for the close.
/// </param>
public void Close(CloseStatusCode code, string reason)
{
byte[] data = null;
var msg = _readyState.CheckIfClosable() ??
(data = ((ushort)code).Append(reason)).CheckIfValidControlData("reason");
if (msg != null)
{
error(msg);
return;
}
var send = _readyState == WebSocketState.Open && !code.IsReserved();
close(new PayloadData(data), send, send);
}