/// <summary> /// metoda wywołana po wciśnięciu "połącz z chmurąsterowania" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void conToCloudButton_Click(object sender, EventArgs e) { if (!isConnectedToControlCloud) { if (isNodeAddressSet) { if (IPAddress.TryParse(controlCloudIPTextBox.Text, out controlCloudAddress)) { SetText("IP ustawiono jako " + controlCloudAddress.ToString() + "\n"); } else { SetText("Błąd podczas ustawiania IP chmury (zły format?)\n"); } if (Int32.TryParse(controlCloudPortTextBox.Text, out controlCloudPort)) { SetText("Port chmury ustawiony jako " + controlCloudPort.ToString() + "\n"); } else { SetText("Błąd podczas ustawiania portu chmury (zły format?)\n"); } controlCloudSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); controlCloudEndPoint = new IPEndPoint(controlCloudAddress, controlCloudPort); try { controlCloudSocket.Connect(controlCloudEndPoint); isConnectedToControlCloud = true; controlNetworkStream = new NetworkStream(controlCloudSocket); List <String> _welcArr = new List <String>(); _welcArr.Add("HELLO"); SPacket welcomePacket = new SPacket(myAddress.ToString(), new Address(0, 0, 0).ToString(), _welcArr); whatToSendQueue.Enqueue(welcomePacket); //whatToSendQueue.Enqueue("HELLO " + myAddr); controlReceiveThread = new Thread(this.controlReceiver); controlReceiveThread.IsBackground = true; controlReceiveThread.Start(); controlSendThread = new Thread(this.controlSender); controlSendThread.IsBackground = true; controlSendThread.Start(); //conToCloudButton.Text = "Rozłącz"; LRM = new eLReMix(this); SetText("Połączono!\n"); exceptionCount = 0; } catch (SocketException) { isConnectedToControlCloud = false; SetText("Błąd podczas łączenia się z chmurą\n"); SetText("Złe IP lub port? Chmura nie działa?\n"); } } else { SetText("Wprowadź numery sieci i podsieci\n"); } } else { isConnectedToControlCloud = false; conToCloudButton.Text = "Połącz"; SetText("Rozłączono!\n"); if (controlCloudSocket != null) { controlCloudSocket.Close(); } } }
/// <summary> /// metoda wywołana po wciśnięciu "połącz z chmurąsterowania" /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void conToCloudButton_Click(object sender, EventArgs e) { if (!isConnectedToControlCloud) { if (isNodeAddressSet) { if (IPAddress.TryParse(controlCloudIPTextBox.Text, out controlCloudAddress)) { SetText("IP ustawiono jako " + controlCloudAddress.ToString()+"\n"); } else { SetText("Błąd podczas ustawiania IP chmury (zły format?)\n"); } if (Int32.TryParse(controlCloudPortTextBox.Text, out controlCloudPort)) { SetText("Port chmury ustawiony jako " + controlCloudPort.ToString()+"\n"); } else { SetText("Błąd podczas ustawiania portu chmury (zły format?)\n"); } controlCloudSocket = new Socket(AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp); controlCloudEndPoint = new IPEndPoint(controlCloudAddress, controlCloudPort); try { controlCloudSocket.Connect(controlCloudEndPoint); isConnectedToControlCloud = true; controlNetworkStream = new NetworkStream(controlCloudSocket); List<String> _welcArr = new List<String>(); _welcArr.Add("HELLO"); SPacket welcomePacket = new SPacket(myAddress.ToString(), new Address(0, 0, 0).ToString(), _welcArr); whatToSendQueue.Enqueue(welcomePacket); //whatToSendQueue.Enqueue("HELLO " + myAddr); controlReceiveThread = new Thread(this.controlReceiver); controlReceiveThread.IsBackground = true; controlReceiveThread.Start(); controlSendThread = new Thread(this.controlSender); controlSendThread.IsBackground = true; controlSendThread.Start(); //conToCloudButton.Text = "Rozłącz"; LRM = new eLReMix(this); SetText("Połączono!\n"); exceptionCount = 0; } catch (SocketException) { isConnectedToControlCloud = false; SetText("Błąd podczas łączenia się z chmurą\n"); SetText("Złe IP lub port? Chmura nie działa?\n"); } } else { SetText("Wprowadź numery sieci i podsieci\n"); } } else { isConnectedToControlCloud = false; conToCloudButton.Text = "Połącz"; SetText("Rozłączono!\n"); if (controlCloudSocket != null) controlCloudSocket.Close(); } }