[Modify] Throw exceptions

This commit is contained in:
sta 2017-08-05 16:20:27 +09:00
parent 6c82c9ed64
commit 84e2a1ed42

View File

@ -526,15 +526,20 @@ namespace WebSocketSharp.Server
/// </param>
public void BroadcastAsync (string data, Action completed)
{
var msg = _state.CheckIfAvailable (false, true, false) ??
WebSocket.CheckSendParameter (data);
if (msg != null) {
_logger.Error (msg);
return;
if (_state != ServerState.Start) {
var msg = "The current state of the manager is not Start.";
throw new InvalidOperationException (msg);
}
if (data == null)
throw new ArgumentNullException ("data");
byte[] bytes;
if (!data.TryGetUTF8EncodedBytes (out bytes)) {
var msg = "It could not be UTF-8-encoded.";
throw new ArgumentException (msg, "data");
}
var bytes = data.UTF8Encode ();
if (bytes.LongLength <= WebSocket.FragmentLength)
broadcastAsync (Opcode.Text, bytes, completed);
else