void Listen() { Thread listenThread = new Thread(() => { try { SocketDATA data = (SocketDATA)socket.Receive(); ProcessDATA(data); } catch (Exception) { } }); listenThread.IsBackground = true; listenThread.Start(); }
private void ProcessDATA(SocketDATA data) { switch (data.Command) { case (int)SocketCommand.NOTIFY: MessageBox.Show(data.Mess); break; case (int)SocketCommand.NEW_GAME: this.Invoke((MethodInvoker)(() => { newGame(); pnlChessBoard.Enabled = false; })); break; case (int)SocketCommand.SEND_POINT: this.Invoke((MethodInvoker)(() => { pnlChessBoard.Enabled = true; ChessBoard.OtherPlayerMarked(data.Point); })); break; case (int)SocketCommand.UNDO: this.Invoke((MethodInvoker)(() => { Undo(); })); break; case (int)SocketCommand.END_GAME: break; case (int)SocketCommand.QUIT: MessageBox.Show("Other player has disconnected"); break; default: break; } Listen(); }