async void StartReceiveReisadvies(DataReader socketReader) { try { uint bytesRead = await socketReader.LoadAsync(sizeof(uint)); if (bytesRead > 0) { uint strLength = (uint)socketReader.ReadUInt32(); bytesRead = await socketReader.LoadAsync(strLength); if (bytesRead > 0) { byte[] bytesIn = new byte[bytesRead]; Debug.WriteLine("ReadBytes"); socketReader.ReadBytes(bytesIn); Debug.WriteLine("ReadBytes End"); // Raise PicReceived event if (ReisadviesReceived != null) { ReisadviesReceivedEventArgs args = new ReisadviesReceivedEventArgs(); args.Bytes = bytesIn; ReisadviesReceived(this, args); } StartReceiveReisadvies(socketReader); // Start another reader } else { SocketError("The remote side closed the socket"); socketReader.Dispose(); UpdateConnectionStatus(ConnectionStatus.Disconnected); } } else { SocketError("The remote side closed the socket"); socketReader.Dispose(); UpdateConnectionStatus(ConnectionStatus.Disconnected); } } catch (Exception e) { if (!_socketClosed) { SocketError("Reading from socket failed: " + e.Message); } socketReader.Dispose(); } }
///// <summary> ///// Gets and sets the current picture byte array. ///// </summary> //public byte[] CurrentSharedPicture //{ // get // { // return _currentSharedPicture; // } // protected set // { // _currentSharedPicture = value; // RaisePropertyChanged(() => CurrentSharedPicture); // } //} async void OnReisadviesReceived(object sender, ReisadviesReceivedEventArgs args) { var plannerService = SimpleIoc.Default.GetInstance <IPlannerService>(); ShareSearch s = ShareSearch.Desserialize(args.Bytes); await plannerService.AddSearchAsync(s.PlannerSearch); await plannerService.PermStoreSearchResultAsync(s.PlannerSearch.Id, s.ReisMogelijkheden); //SetCurrentPicture(args.Bytes); if (ReisadviesReceived != null) { ReisadviesReceived(this, new ReisadviesReceivedEventArgs() { Id = s.PlannerSearch.Id, Index = s.Index }); } Debug.WriteLine("Received {0} bytes", args.Bytes.Length); //this.StopSharingSession(); }