private void Main_Load(object sender, EventArgs e) { _helper.Location = new Point(Bounds.Location.X + Bounds.Size.Width, Bounds.Location.Y); uiTimer.Start(); labelEnemyName.Text = _playerEnemy.Name; labelYourName.Text = _playerYou.Name; _buyPoints = _playerYou.StartPoints; progressLifeBarYou.Maximum = _playerYou.StartPoints; labelLifePointsYou.Text = _playerYou.StartPoints.ToString(); progressLifeBarYou.Value = _playerYou.ObjectSum; if (_debug) { return; } try { if (_isHost) { Thread server = new Thread(ServerThread) { IsBackground = true }; server.Start(); Thread initThread = new Thread(InitThread) { IsBackground = true }; initThread.Start(); listBoxLog.Items.Add("Du bist Host."); listBoxLog.Items.Add("Warte auf Verbindung."); } else { _network = new NetworkManager(IPAddress.Parse(_ip), _port, _isHost); _network.SendMessage($"/c3/{_playerYou.Name}/{_playerYou.StartPoints}"); for (int index = 0; index < 5; index++) { string data = _network.GetMessage().Trim(); if (data.StartsWith("/sc")) { string stateInfo = data.Substring(4); string[] segments = stateInfo.Split('/'); string enemyName = segments[0]; int enemyPoints = int.Parse(segments[1]); progressLifebarEnemy.Maximum = enemyPoints; progressLifebarEnemy.Value = enemyPoints; labelLifePointsEnemy.Text = enemyPoints.ToString(); _playerEnemy.StartPoints = enemyPoints; _playerEnemy.Name = enemyName; labelEnemyName.Text = enemyName; listBoxLog.Items.Add("Verbindung zum Host hergestellt."); break; } } buttonReady.Text = "Fertig (" + _buyPoints.ToString() + ")"; mainTimer.Start(); _starter.Hide(); } } catch (System.Net.Sockets.SocketException sEx) { MessageBox.Show(sEx.Message, "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error); _starter.Show(); Dispose(); return; } catch (Exception ex) { if (_network.IsConnected) { _network.SendMessage("$CLOSEERROR$"); } mainTimer.Stop(); StringBuilder builder = new StringBuilder(); builder.AppendFormat("Fehler bei: {0}\n", ex.Source); builder.Append(ex.Message); MessageBox.Show(builder.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private void ServerThread() { _isServerConnected = false; _network = new NetworkManager(IPAddress.Any, _port, true); _isServerConnected = true; }