public void Send(EndPoint targetEndPoint, byte[] buffer, int startIndex, int length) { lock (this) { var socket = _socket; socket?.BeginSendTo(buffer, startIndex, length, SocketFlags.None, targetEndPoint, Socket_Send, null); } }