/// <summary>
        ///
        /// </summary>
        /// <param name="result"></param>
        private void ReceivedCallback(IAsyncResult result)
        {
            Console.WriteLine(this.server_name + " ReceivedCallback");

            SocketData s = (SocketData)result.AsyncState;

            try {
                if (s.Socket == null)
                {
                    Console.WriteLine("s.Socket is null");
                    return;
                }

                Console.WriteLine("s.Socket is good");

                int        count = s.Socket.EndReceiveFrom(result, ref s.RemoteEndPoint);
                SocketData sd    = s;
                sd.TotalReadSize = count;
                sd.Buffer        = new byte[s.TotalReadSize];
                Array.Copy((Array)s.Buffer, (Array)sd.Buffer, sd.TotalReadSize);
                if (sd.TotalReadSize > 0)
                {
                    Console.WriteLine("ReceivedCallback------sd.TotalReadSize:" + sd.Buffer.ToString());
                    DestinationTuple         d = new DestinationTuple((IPEndPoint)sd.Socket.LocalEndPoint, (IPEndPoint)sd.RemoteEndPoint);
                    CipDataReceivedEventArgs e = new CipDataReceivedEventArgs(sd.TotalReadSize, sd.Buffer, d);
                    this.OnDataReceived(e);
                }
            } catch (Exception ex) {
            }
            StartReading();
        }
 /// <summary>
 ///
 /// </summary>
 /// <param name="e"></param>
 private void OnDataReceived(CipDataReceivedEventArgs e)
 {
     if (this.DataReceived != null)
     {
         Console.WriteLine(this.server_name + " OnDataReceived");
         frm.Set_TextBox(this.server_name + " OnDataReceived");
         this.DataReceived(this, e);
     }
 }