static void Main(string[] args) { try { TcpClientCommunication tcpClient = new TcpClientCommunication(); tcpClient.ReadStream = new ReadAnswerTest(); ConnectWindow connectWindow = new ConnectWindow(); var dialogResult = connectWindow.ShowDialog(); if (dialogResult == System.Windows.Forms.DialogResult.OK) { tcpClient.connect(IPAddress.Parse(connectWindow.Adress.Text), int.Parse(connectWindow.PortBox.Text)); if (tcpClient.isConnected) { string message = null; //tcpClient.listening(); SimpleMessage simpleMessage = new SimpleMessage(); simpleMessage.operation = "pobierzid"; tcpClient.send(simpleMessage.buildMessage()); simpleMessage = new SimpleMessage(tcpClient.receiveMessage()); Console.WriteLine($"Połączono z serwerem o adresie {connectWindow.Adress.Text} na porcie {connectWindow.PortBox.Text}"); Console.WriteLine("Możesz wpisywać liczby oddzielone spacją (w liczbach zmiennoprzecinkowych jest używany ',') lub znak/nazwę działania, które chcesz wykonać (jeśli wpiszesz następne działanie, poprzednie zostanie zastąpione)"); Console.WriteLine("Dostępne działania:"); Console.WriteLine("- dodaj (+)"); Console.WriteLine("- odejmij (-)"); Console.WriteLine("- mnozenie (*)"); Console.WriteLine("- dzielenie (/)"); Console.WriteLine("- modulo (%)"); Console.WriteLine("- potega (^)"); Console.WriteLine("- logarytm (log)"); Console.WriteLine("- pierwiastek"); Console.WriteLine("- message "); Console.WriteLine("- exit - rozłącz z serwerem"); Console.WriteLine("- send - wyślij działanie"); while (simpleMessage.operation != "exit") { do { Console.Write("ID: " + simpleMessage.id + "> "); message = Console.ReadLine(); } while (simpleMessage.add(message)); tcpClient.send(simpleMessage.buildMessage()); message = tcpClient.receiveMessage(); simpleMessage = new SimpleMessage(message); Console.WriteLine("Status odpowiedzi: " + SimpleMessage.statusName[int.Parse(simpleMessage.status)]); Console.WriteLine(simpleMessage.dateTime.ToString() + $" - Wynik) {simpleMessage.numbersToString()}"); } tcpClient.Close(); } else { Console.WriteLine("Nie udało się połączyć z serwerem"); } } }catch (Exception e) { Console.WriteLine(e.ToString()); } Console.WriteLine("END"); Console.Read(); }
/// <summary> /// Launching client window /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void App_OnStartup(object sender, StartupEventArgs e) { var connectForm = new ConnectWindow(); if (connectForm.ShowDialog() != true) { return; } var chatClient = new ChatClient(connectForm.PortNumber, connectForm.IpAddress, connectForm.UserName); if (!chatClient.IsConnected) { Current.Shutdown(); return; } var clientForm = new ClientWindow(chatClient); clientForm.Show(); }
private void searchAndConnectServer() { ConnectWindow connectWindow = new ConnectWindow(); connectWindow.ShowDialog(); if (connectWindow.FoundServers > 0) { string serverUri = (string)connectWindow.serverComboBox.SelectedValue; try { Uri baseAddress = new Uri(serverUri); EndpointAddress address = new EndpointAddress(baseAddress); NetTcpBinding binding = new NetTcpBinding(); binding.Security.Mode = SecurityMode.None; factory = new ChannelFactory <IServerService>(binding, address); serverService = factory.CreateChannel(); ((IContextChannel)serverService).OperationTimeout = TimeSpan.MaxValue; Dispatcher.BeginInvoke(new Action(() => { this.serverConnectLabel.Content = "Połączenie z serwerem: Połączono"; })); } catch (Exception ex) { MessageBox.Show(ex.Message); Application.Current.Shutdown(); } } else { Application.Current.Shutdown(); } }