public static void Send <T>(this NetworkClient client, NetworkMessageKind kind, T @object) { var data = JSON.ToJSON(@object); client.SendMessage(kind, data); }
public async void SendMessage(NetworkMessageKind kind, string data) { if (!IsActive) { return; } try { // Don't use a using statement as we do not want the stream closed // after the write is completed. using (var writer = new BinaryWriter(_networkStream, Encoding.Default, leaveOpen: true)) { writer.Write((int)kind); var buffer = Encoding.UTF8.GetBytes(data); writer.Write(buffer.Length); writer.Write(buffer); writer.Flush(); } } catch (IOException) { // Socket closed. Disconnect(); } }
public async void SendMessage(NetworkMessageKind kind, string data) { if (!IsActive) return; try { // Don't use a using statement as we do not want the stream closed // after the write is completed. using (var writer = new BinaryWriter(_networkStream, Encoding.Default, leaveOpen: true)) { writer.Write((int)kind); var buffer = Encoding.UTF8.GetBytes(data); writer.Write(buffer.Length); writer.Write(buffer); writer.Flush(); } } catch (IOException) { // Socket closed. Disconnect(); } }