Пример #1
0
        public static void ReceiveMessages()
        {
            IPEndPoint e = new IPEndPoint(IPAddress.Any, 15000);
            UdpClient  u;

            while (true)
            {
                try
                {
                    // Receive a message and write it to the console.

                    u = new UdpClient(e);
                    break;
                }
                catch
                {
                    Thread.Sleep(1000);
                }
            }

            UdpState s = new UdpState();

            s.e = e;
            s.u = u;


            u.BeginReceive(new AsyncCallback(ReceiveCallback), s);
        }
Пример #2
0
        public static void ReceiveCallback(IAsyncResult ar)
        {
            UdpClient  u = (UdpClient)((UdpState)(ar.AsyncState)).u;
            IPEndPoint e = (IPEndPoint)((UdpState)(ar.AsyncState)).e;

            Byte[] receiveBytes  = u.EndReceive(ar, ref e);
            string receiveString = Encoding.ASCII.GetString(receiveBytes);

            messageReceived = true;

            UdpState s = new UdpState();

            s.e = e;
            s.u = u;

            Console.Write(receiveString);
            Console.WriteLine(" ");
            Request r   = new Request(receiveString, myUser, myBot);
            Result  res = myBot.Chat(r);

            SPS.SpeakAsync(res.Output);
            Console.WriteLine("Bot: " + res.Output);

            u.Send(Encoding.UTF8.GetBytes(res.Output), res.Output.Length, e);
            u.BeginReceive(new AsyncCallback(ReceiveCallback), s);
        }