public async Task<List<char>> RequestLettersAsync( int count ) { await SendStringAsync($"Request={count}"); var bytes = await ReceiveBytesAsync(); var ser = new Serialization(); return ser.DeserializeCollectionFromBytes(bytes) as List<char>; }
public async Task SendLettersAsync(Func<char> getLetterFromBag ) { Debug.WriteLine("Sende Buchstaben."); var request = (await ReceiveStringAsync()).Split('='); if (request.Length != 2) throw new ArgumentException(nameof(request)); int count; var parsed = int.TryParse(request[1], out count); if (!parsed) throw new ArgumentException("Fehler beim Parsen"); var letters = new List<char>(); for(var i = 1; i <= count; i++) { letters.Add(getLetterFromBag()); } var ser = new Serialization(); var bytes = ser.SerializeCollectionToBytes(letters); await SendBytesAsync(bytes); Debug.WriteLine("Buchstaben gesendet."); }
public async Task SendMovesAsync( Dictionary<Point, char> moves ) { var ser = new Serialization(); var bytes = ser.SerializeCollectionToBytes(moves); await SendBytesAsync(bytes); }
public async Task<Dictionary<Point, char>> ReceiveMovesAsync( ) { var ser = new Serialization(); var bytes = await ReceiveBytesAsync(); return ser.DeserializeCollectionFromBytes(bytes) as Dictionary<Point, char>; }