I've just finished writing all the game logic for an electronic version of a game a friend of mine and I used to play. The game logic is 100% complete and it does exactly what I want. The problem I have is that I have no idea where to start with implementing the networking aspect of the program. I've done a bunch of reading about sockets and client-server setups, but I can't wrap my head around how to make that do what I want. The specific problem I have is how to synchronize the GUI. I have a bunch of JToggleButtons that I used to build the basic playing field. There are 15 flippable cards, what I need to do is make sure that when 1 player flips a card on his screen, that same card flips on the other players screen. That's the main issue. I'm hoping figuring that out will help me in how to send and implement the other pieces of data I have (that include the player's hand, a simple chat, and cards revealed from the other player's hand), but one step at a time. If anyone could provide any insight or point me to useful information I'd greatly appreciate it.