private static void Send(Socket client, Favourites data) { byte[] byteData = FavouritesHandler.ConvertFavouritesToByteArray(data); client.BeginSend(byteData, 0, byteData.Length, 0, new AsyncCallback(SendCallback), client); }
private static void ReceiveCallback(IAsyncResult ar) { try { if (TypeOfTheInfo == TypeOfInfo.User) { ar.AsyncWaitHandle.WaitOne(2000); } if (TypeOfTheInfo == TypeOfInfo.Comment) { ar.AsyncWaitHandle.WaitOne(2000); } StateObject state = (StateObject)ar.AsyncState; Socket client = state.workSocket; client.EndReceive(ar); switch (TypeOfTheInfo) { case TypeOfInfo.Films: { films = FilmHandler.ConvertByteArrayToFilmList(state.buffer); break; } case TypeOfInfo.Cinemas: { cinemas = CinemaHandler.ConvertByteArrayToCinemaList(state.buffer); break; } case TypeOfInfo.Users: { users = UserHandler.ConvertByteArrayToUserList(state.buffer); break; } case TypeOfInfo.User: { flagUser = false; break; } case TypeOfInfo.Favourites: { favourites = FavouritesHandler.ConvertByteArrayToFavouritesList(state.buffer); break; } case TypeOfInfo.Concerts: { concerts = ConcertHandler.ConvertByteArrayToConcertList(state.buffer); break; } case TypeOfInfo.Exhibitions: { exhibitions = ExhibitionHandler.ConvertByteArrayToExhibitionList(state.buffer); break; } case TypeOfInfo.Comments: { comments = CommentHandler.ConvertByteArrayToCommentList(state.buffer); break; } case TypeOfInfo.Favourite: { flagFavourite = false; break; } case TypeOfInfo.Comment: { flagComment = false; break; } default: { break; } } receiveDone.Set(); } catch (Exception ex) { MessageBox.Show(ex.Message); Application application = Application.Current; application.Shutdown(); } }