[Modify] Throw exceptions

master
sta 9 years ago
parent 9858b8e5a3
commit 9fa2b58990

@ -596,19 +596,27 @@ namespace WebSocketSharp.Server
/// </param> /// </param>
public Dictionary<string, bool> Broadping (string message) public Dictionary<string, bool> Broadping (string message)
{ {
if (message == null || message.Length == 0) if (_state != ServerState.Start) {
return Broadping (); var msg = "The current state of the manager is not Start.";
throw new InvalidOperationException (msg);
}
byte[] data = null; if (message.IsNullOrEmpty ())
var msg = _state.CheckIfAvailable (false, true, false) ?? return Broadping (WebSocketFrame.EmptyPingBytes, _waitTime);
WebSocket.CheckPingParameter (message, out data);
if (msg != null) { byte[] bytes;
_logger.Error (msg); if (!message.TryGetUTF8EncodedBytes (out bytes)) {
return null; var msg = "It could not be UTF-8-encoded.";
throw new ArgumentException (msg, "message");
}
if (bytes.Length > 125) {
var msg = "Its size is greater than 125 bytes.";
throw new ArgumentOutOfRangeException ("message", msg);
} }
return Broadping (WebSocketFrame.CreatePingFrame (data, false).ToArray (), _waitTime); var frame = WebSocketFrame.CreatePingFrame (bytes, false);
return Broadping (frame.ToArray (), _waitTime);
} }
/// <summary> /// <summary>

Loading…
Cancel
Save