public ulong EndReadUInt64(IAsyncResult result)
{
AsyncMachine.EndAsyncMachine(result);
uint lo = (uint)(m_buffer[0] | m_buffer[1] << 8 |
m_buffer[2] << 16 | m_buffer[3] << 24);
uint hi = (uint)(m_buffer[4] | m_buffer[5] << 8 |
m_buffer[6] << 16 | m_buffer[7] << 24);
ulong value = ((ulong)hi) << 32 | lo;
return (ulong)IPAddress.NetworkToHostOrder((long)value);
}