public static Task LoadPageAsync() => Task.Run(() => { try { IPEndPoint ipPoint = new IPEndPoint(IPAddress.Parse(Address), Port); using (TcpClient client = new TcpClient()) { client.Connect(ipPoint); BinaryReader br = new BinaryReader(client.GetStream()); int size = br.ReadInt32(); BinaryFormatter formatter = new BinaryFormatter(); var resultArr = formatter.Deserialize(new MemoryStream(br.ReadBytes(size))) as GameInfo[]; LoadSuccess?.Invoke(resultArr); } } catch (Exception ex) { MessageBox.Show("Не удалось получить данные от сервера.\n" + ex.Message); } });
public void OnLoadSuccess(EventArgs e) { LoadSuccess?.Invoke(this, e); }