static void ListenSocketReduce() { while (socketReduce.Connected) { try { ReduceModel modelClient = (ReduceModel)bfReduce.Deserialize(streamReduce); if (modelClient != null) { ReduceModel modelServer = new ReduceModel(); modelServer.PointRawList = modelClient.PointRawList; modelServer.PointReduceList = modelClient.PointRawList; DateTime timeStartReduce = DateTime.Now; modelServer.PointReduceList = HelperDouglasPeucker.DouglasPeuckerReduction(modelClient.PointRawList, 0.00001); DateTime timeEndReduce = DateTime.Now; modelServer.TimeReduce = timeEndReduce.Subtract(timeStartReduce); bfReduce.Serialize(streamReduce, modelServer); streamReduce.Flush(); } //socketReduce.Close(); } catch (Exception ex) { Console.WriteLine("İstemci bağlantısı kesildi!"); break; } } }
private void button2_Click(object sender, EventArgs e) { ReloadGoogleMap(1); ReduceModel modelReduce = new ReduceModel(); modelReduce.PointRawList = model.PointsRaw; bfReduce.Serialize(streamReduce, modelReduce); streamReduce.Flush(); }
void ListenSocketReduce() { while (true) { try { ReduceModel modelReduce = (ReduceModel)bfReduce.Deserialize(streamReduce); model.PointsReduce = modelReduce.PointReduceList; LoadGoogleMap(); int countReduce = modelReduce.PointReduceList.Count; int countRaw = modelReduce.PointRawList.Count; double ratioReduce = (1 - (Convert.ToDouble(countReduce) / Convert.ToDouble(countRaw))) * 100; this.Invoke((MethodInvoker)(() => label4.Text = "count : " + listBox1.Items.Count.ToString() )); this.Invoke((MethodInvoker)(() => label2.Text = "İndirgeme Oranı : %" + ratioReduce.ToString("0.##") )); this.Invoke((MethodInvoker)(() => label3.Text = "İndirgeme süresi : " + modelReduce.TimeReduce.ToString() )); foreach (var item in model.PointsReduce) { this.Invoke((MethodInvoker)(() => listBox2.Items.Add(String.Format("{0} - {1}", item.X.ToString(), item.Y.ToString())) )); } this.Invoke((MethodInvoker)(() => label5.Text = "count : " + listBox2.Items.Count.ToString() )); } catch (Exception ex) { MessageBox.Show("Server bağlantısı koptu! Program kapatılacak..."); Environment.Exit(0); } } }