internal async Task EmitCallbackAsync(int packetId, params object[] data) { string dataString = GetDataString(data); var builder = new StringBuilder(); if (OutGoingBytes.Count > 0) { builder.Append("46").Append(OutGoingBytes.Count).Append("-"); } else { builder.Append("43"); } builder .Append(Namespace) .Append(packetId) .Append("[") .Append(dataString) .Append("]"); string message = builder.ToString(); await Socket.SendMessageAsync(message); if (OutGoingBytes.Count > 0) { foreach (var item in OutGoingBytes) { await Socket.SendMessageAsync(item); } OutGoingBytes.Clear(); } }
private async Task EmityAsync(string eventName, string data) { if (string.IsNullOrWhiteSpace(eventName)) { throw new ArgumentException("Event name is invalid"); } var builder = new StringBuilder(); if (OutGoingBytes.Count > 0) { builder.Append("45").Append(OutGoingBytes.Count).Append("-"); } else { builder.Append("42"); } builder .Append(Namespace) .Append(PacketId) .Append("[\"") .Append(eventName) .Append("\""); if (!string.IsNullOrEmpty(data)) { builder.Append(',').Append(data); } builder.Append(']'); string message = builder.ToString(); await Socket.SendMessageAsync(message); if (OutGoingBytes.Count > 0) { foreach (var item in OutGoingBytes) { await Socket.SendMessageAsync(item); } OutGoingBytes.Clear(); } }