Exemplo n.º 1
0
        private void ConnectToServer(object sender, EventArgs e)
        {
            if (connected)
            {
                disconnectFromServer();
            }
            else
            {
                client = UdpUser.ConnectTo(serverAddr.Text, 32123);

                if (client != null)
                {
                    client.Send(Encoding.ASCII.GetBytes("HLO" + GUID));

                    Thread.Sleep(100);

                    // SEND AUDIO FORMAT REQUEST
                    byte[] cmd = GetCmdBytes(CMDS.SetClientAudioFormat, (byte)audioFormatSelector.SelectedIndex);
                    client.Send(cmd);

                    // STORE IP ADDRESS
                    StoreSetting("server_ip", serverAddr.Text);


                    //wait for reply messages from server and send them to console
                    udpReceiveTaskToken = new CancellationTokenSource();
                    Task.Factory.StartNew(async() =>
                    {
                        while (true)
                        {
                            try
                            {
                                Received received = await client.Receive();

                                ClientReceivedData(received.Payload, received.Sender);
                            }
                            catch (Exception ex)
                            {
                                Logger.WriteLine(ex.ToString());
                            }
                        }
                    });
                }
            }
        }