private void btnHost_Click(object sender, EventArgs e) { if (!ValidNameEntered(out string name)) { return; } if (!ValidPortEntered(out _port)) { return; } _myInfo = new ConnectedPlayerInformation(1, name); OnTcpPlayerConnected(_myInfo); _isHost = true; btnHost.Enabled = false; btnJoin.Enabled = false; txtIP.Enabled = false; txtName.Enabled = false; _tcpServer = new SpideyTcpServer(_port); var onConnected = new Progress <ConnectedPlayerInformation>(OnTcpPlayerConnected); _tcpServer.Start(onConnected, _myInfo.Data); _udpServer = new SpideyUdpServer(_port); _udpBase = _udpServer; var onReceiveUdpInfo = new Progress <ConnectedPlayerUdpEndPoint>(OnReceiveUdpInfo); _udpServer.Start(_tcpServer, _onLocationUpdate, onReceiveUdpInfo); }
private void btnJoin_Click(object sender, EventArgs e) { if (!ValidNameEntered(out string name)) { return; } if (!ValidIpEntered(out _serverIp)) { return; } if (!ValidPortEntered(out _port)) { return; } _myInfo = new ConnectedPlayerInformation(0, name); btnHost.Enabled = false; btnJoin.Enabled = false; txtIP.Enabled = false; txtName.Enabled = false; _udpClient = new SpideyUdpClient(_serverIp, _port); _udpBase = _udpClient; var onUdpClientConnected = new Progress <bool>(OnUdpClientConnected); _udpClient.Start(onUdpClientConnected, _onLocationUpdate); _tcpClient = new SpideyTcpClient(_serverIp, _port); var onReceivePlayerNumber = new Progress <byte>(OnReceivePlayerNumber); var onConnected = new Progress <ConnectedPlayerInformation>(OnTcpPlayerConnected); var onServerStarted = new Progress <bool>(OnServerStarted); var onReceiveUdpInfo = new Progress <ConnectedPlayerUdpEndPoint>(OnReceiveUdpInfo); _tcpClient.Start(_udpClient, onReceivePlayerNumber, onConnected, onServerStarted, onReceiveUdpInfo, name); OnReceiveUdpInfo(new ConnectedPlayerUdpEndPoint(1, new IPEndPoint(_serverIp, _port))); }