Beispiel #1
0
        public void WriteBytes(ICryptable crpt, byte[] a)
        {
            byte[] data = crpt.Encrypt(a);
            client.GetStream().WriteAsync(data, 0, data.Length, cts.Token);

            Thread.Sleep(100);
        }
Beispiel #2
0
        public async Task <byte[]> ReadBytesAsyc(TcpClient client, ICryptable crpto)
        {
            List <byte> data = new List <byte>();

            byte[] buffer = new byte[4096];
            int    readed = 0;

            do
            {
                //var timeoutTask = Task.Delay(TimeSpan.FromSeconds(5));
                //var amountReadTask = ns.ReadAsync(buffer, 0, buffer.Length, cts.Token);
                //var completedTask = await Task.WhenAny(timeoutTask, amountReadTask).ConfigureAwait(false);
                //if (completedTask == timeoutTask){MessageBox.Show("request timed out");break;}

                readed = await client.GetStream().ReadAsync(buffer, 0, buffer.Length, cts.Token);

                if (readed > 0)
                {
                    for (int i = 0; i < readed; i++)
                    {
                        data.Add(buffer[i]);
                    }
                }
            } while (client.GetStream().DataAvailable);

            return(crpto.Decrypt(data.ToArray()));
        }
Beispiel #3
0
 public async Task <string> ReadStringAsyc(ICryptable crpt)
 {
     return(crpt.Decrypt(await ReadBytesAsyc()).BytesToString().DeletZerosFromEnd());
 }
Beispiel #4
0
 public void WriteString(ICryptable crpt, string a)
 {
     WriteBytes(crpt, a.StringToBytes());
 }
Beispiel #5
0
 public void WriteBytes(TcpClient client, ICryptable crpto, byte[] a)
 {
     byte[] data = crpto.Encrypt(a);
     client.GetStream().WriteAsync(data, 0, data.Length);
 }
Beispiel #6
0
 public void WriteString(TcpClient client, ICryptable crpto, string str)
 {
     log("sending " + str);
     WriteBytes(client, crpto, str.StringToBytes());
 }
Beispiel #7
0
 public async Task <string> ReadStringAsyc(TcpClient client, ICryptable crpto)
 {
     return((await ReadBytesAsyc(client, crpto)).BytesToString().DeletZerosFromEnd());
 }