public override Task SendAsync(ArraySegment <byte> buffer, WebSocketMessageType messageType, bool endOfMessage,
CancellationToken cancellationToken)
{
ThrowIfNotConnected();
if (!((messageType == WebSocketMessageType.Text) || (messageType == WebSocketMessageType.Binary)))
{
string errorMessage = SR.Format(
SR.net_WebSockets_Argument_InvalidMessageType,
"Close",
"SendAsync",
"Binary",
"Text",
"CloseOutputAsync");
throw new ArgumentException(errorMessage, nameof(messageType));
}
WebSocketValidate.ValidateArraySegment <byte>(buffer, "buffer");
return(_innerWebSocket.SendAsync(buffer, messageType, endOfMessage, cancellationToken));
}