Пример #1
0
        public static void Send <T>(this NetworkClient client,
                                    NetworkMessageKind kind, T @object)
        {
            var data = JSON.ToJSON(@object);

            client.SendMessage(kind, data);
        }
Пример #2
0
        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();
            }
        }
Пример #3
0
        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();
            }
        }