public void WriteBytes(ICryptable crpt, byte[] a) { byte[] data = crpt.Encrypt(a); client.GetStream().WriteAsync(data, 0, data.Length, cts.Token); Thread.Sleep(100); }
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())); }
public async Task <string> ReadStringAsyc(ICryptable crpt) { return(crpt.Decrypt(await ReadBytesAsyc()).BytesToString().DeletZerosFromEnd()); }
public void WriteString(ICryptable crpt, string a) { WriteBytes(crpt, a.StringToBytes()); }
public void WriteBytes(TcpClient client, ICryptable crpto, byte[] a) { byte[] data = crpto.Encrypt(a); client.GetStream().WriteAsync(data, 0, data.Length); }
public void WriteString(TcpClient client, ICryptable crpto, string str) { log("sending " + str); WriteBytes(client, crpto, str.StringToBytes()); }
public async Task <string> ReadStringAsyc(TcpClient client, ICryptable crpto) { return((await ReadBytesAsyc(client, crpto)).BytesToString().DeletZerosFromEnd()); }