private void receiveServerData(object obj) { TcpModel tcp = obj as TcpModel; try { while (true) { string data = tcp.tcpClient.receiveData(); tcp.player.sendData(data); } } catch { if (tcp.tcpClient.port == 8080) { isRunning1 = false; tcp.player.sendData("Error"); tcp.player.closeConnection(); } else { isRunning2 = false; tcp.player.sendData("Error"); tcp.player.closeConnection(); } } }
private void reciveClientData(object obj) { TcpModel tcp = obj as TcpModel; try { while (true) { string data = tcp.player.receiveData(); tcp.tcpClient.sendData(data); } } catch (Exception) { tcp.player.closeConnection(); } }
private void listenThread() { while (true) { Socket socket = tcpServer.listen(); Player player = new Player(socket); numOfPlayer++; Console.WriteLine("Accept socket from user "); int port = choosePort(numOfPlayer - 1); TcpModelClient client = new TcpModelClient("127.0.0.1", port); TcpModel newTcp = new TcpModel(player, client); tcps.Add(newTcp); Thread thread1 = new Thread(reciveClientData); thread1.Start(newTcp); Thread thread2 = new Thread(receiveServerData); thread2.Start(newTcp); } }