private async void ConnectToServer(object sender, RoutedEventArgs e)
        {
            if (isClientConnected)
            {
                client.Close();
                ClientStatus.Text    = "Status: Niepołączony";
                SendBtn.IsEnabled    = false;
                ClientConBtn.Content = "Połącz";
                isClientConnected    = false;
            }
            else
            {
                try
                {
                    isClientConnected    = true;
                    client               = new FileTransferClient(ClientAddress.Text, Convert.ToInt32(ClientPort.Text));
                    ClientStatus.Text    = "Status: Łączenie...";
                    ClientConBtn.Content = "Przerwij";
                    await client.ConnectAsync();

                    ClientStatus.Text = "Status: Połączony";
                    SendBtn.IsEnabled = true;
                }
                catch (Exception)
                {
                    ClientStatus.Text    = "Status: Niepołączony";
                    SendBtn.IsEnabled    = false;
                    ClientConBtn.Content = "Połącz";
                    isClientConnected    = false;
                }
            }
        }
示例#2
0
        static void Main(string[] args)
        {
            string text    = "Hello World";                            // tekst do zakodowania
            var    encoded = Telekom.Encoding.Huffman.Encode(text);    // zakodowanie
            var    decoded = Telekom.Encoding.Huffman.Decode(encoded); // odkowowanie

            Console.WriteLine(text == decoded);

            // praca z gniazdami
            var server = new FileTransferServer("127.0.0.1", 5678);
            var client = new FileTransferClient("127.0.0.1", 5678);
            var t1     = server.AcceptAsync();
            var t2     = client.ConnectAsync();

            Task.WaitAll(t2, t1);
            var t3 = client.SendAsync(@"E:\filename.txt");

            Thread.Sleep(5000);
            var t4 = server.ReceiveAsync(@"E:\file.txt");

            Task.WaitAll(t4, t3);
        }