/// <summary> /// 已重载。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected override void OnReceived(object sender, DME_NetEventArgs e) { if (e.BytesTransferred > 1024) { WriteLog("{0}的数据包大于1k,抛弃!", e.RemoteEndPoint); return; } //WriteLog("{0} {1}", e.RemoteEndPoint, Encoding.UTF8.GetString(e.Buffer, e.Offset, e.BytesTransferred)); WriteLog("{0} [{1}] {2}", e.RemoteEndPoint, e.BytesTransferred, e.GetString()); if ((e.RemoteEndPoint as IPEndPoint).Address != IPAddress.Any) { DME_UdpServer us = sender as DME_UdpServer; us.Send(e.Buffer, e.Offset, e.BytesTransferred, e.RemoteEndPoint); // 这里发送完成后不需要关闭Socket,因为这是UdpServer的Socket } }
/// <summary> /// 已重载。 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> protected override void OnReceived(object sender, DME_NetEventArgs e) { DME_TcpClient tc = sender as DME_TcpClient; try { if (e.BytesTransferred > 1024) { WriteLog("{0}的数据包大于1k,抛弃!", tc.RemoteEndPoint); } else { WriteLog("{0} [{1}] {2}", tc.RemoteEndPoint, e.BytesTransferred, e.GetString()); if (tc != null && tc.Client.Connected) tc.Send(e.Buffer, e.Offset, e.BytesTransferred); } } finally { tc.Close(); } }