public void SendMessage(string text, OutcomingTypes type = OutcomingTypes.Message) { var bytes = Encoding.UTF8.GetBytes(text); int len = (bytes.Length > 0x3fff ? 0x3fff : bytes.Length); byte[] buffer = new byte[len + 3]; buffer[0] = (byte)(((int)type << 1) | 1); buffer[1] = (byte)(len >> 8); buffer[2] = (byte)len; Array.Copy(bytes, 0, buffer, 3, len); try { socket.Send(buffer); } catch (SocketException) { } }
private void SendMessageRaw(string text, OutcomingTypes type = OutcomingTypes.Message) { if (socket == null || !socket.Connected) return; var bytes = (text == null ? null : Encoding.UTF8.GetBytes(text)); int len = (text == null ? 0 : (bytes.Length > 0x3fff ? 0x3fff : bytes.Length)); byte[] buffer = new byte[len + 3]; buffer[0] = (byte)(((int)type << 1) | 1); buffer[1] = (byte)(len >> 8); buffer[2] = (byte)len; if(text != null) Array.Copy(bytes, 0, buffer, 3, len); socket.Send(buffer); }
public void BroadcastMessage(string text, OutcomingTypes type = OutcomingTypes.Message) { var arr = users.ToArray(); foreach (var u in arr) u.SendMessage(text, type); }