/// <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); } }