/// <summary> /// Asynchronously sends a raw packet, calling the specified method when finished /// </summary> public void SendPacket(byte[] buffer, int offset, int length, AsyncCallback callback) { if (readyForData) { lock (socket) { socket.BeginWrite(buffer, offset, length, callback, this); //socket.BeginSend(buffer, offset, length, SocketFlags.None, callback, this); } } }