The method starts with ReceiveAuthPacket being called, and I pretty much want it to listen for packets for 3 seconds then to close... which I attempted with "u.Client.ReceieveTimeout = 3000" but that isn't working.. any ideas?
private void ReceiveAuthPacket()
{
IPEndPoint e = new IPEndPoint(IPAddress.Any, 5001);
UdpClient u = new UdpClient(e);
UdpState s = new UdpState();
s.E = e;
s.U = u;
Console.WriteLine("Listening for Messages: ");
u.BeginReceive(new AsyncCallback(ReceiveCallback), s);
}
private void ReceiveCallback(IAsyncResult ar)
{
UdpClient u = (UdpClient)((UdpState)(ar.AsyncState)).U;
IPEndPoint e = (IPEndPoint)((UdpState)(ar.AsyncState)).E;
u.Client.ReceiveTimeout = 3000;
Byte[] receiveBytes = u.EndReceive(ar, ref e);
string receiveString = Encoding.ASCII.GetString(receiveBytes);
Console.WriteLine("Received: {0}", receiveString);
MessageReceived = true;
string errMsg = "";
if (AuthMessageParser.ParseMessage(receiveString, ref errMsg))
Authenticated = true;
else
{
ErrorMessage += errMsg;
Authenticated = false;
}
}