Beispiel #1
0
        public void SendText(string text)
        {
            var encryptedInfo = MakeEncryptedInfo();

            var memStream = new MemoryStream();

            Encrypt(memStream, text);
            var encryptedText = memStream.ToArray();

            var headObj = new Utils.DataHead()
            {
                Password = (uint)this.password,
                InfoLen  = (UInt64)encryptedInfo.Length,
                DataLen  = (UInt64)encryptedText.Length
            };

            // Send exit flag
            this.socket.Send(new byte[1]);
            // Send head
            SendJson(headObj);
            // Send info
            this.socket.Send(encryptedInfo);
            // Send data
            this.socket.Send(encryptedText);
        }
Beispiel #2
0
        public void SendStream(Stream stream, string fileName = "")
        {
            var encryptedInfo    = MakeEncryptedInfo(fileName);
            var encryptedDataLen = (long)Math.Ceiling(stream.Length / 16.0) * 16;
            var headObj          = new Utils.DataHead()
            {
                Password = (uint)this.password,
                InfoLen  = (UInt64)encryptedInfo.Length,
                DataLen  = (UInt64)encryptedDataLen
            };

            // Send exit flag
            this.socket.Send(new byte[1]);
            // Send head
            SendJson(headObj);
            // Send info
            this.socket.Send(encryptedInfo);
            // Send stream
            using var socketStream = new NetworkStream(this.socket);
            Encrypt(outStream: socketStream, inStream: stream);
        }