Guidance question

Hi! So I was making this great air hockey game…and before I put hands to work at making the multiplayer functionality…I would like to ask you guys a couple of basic and simple questions for you that have a lot of more experience than me:

The game is simple…the player that creates the game acts as server side and the one that joins the game…client.

So…thinking as the client or server…Do I have to send my position constantly or only when it has changed? and Do I have to process one package at a time ? Maybe it would be better if every time a new package arrives at destiny, a new independent and temporary thread is created to translate the message and apply changes if it is necessary. This way I can keep on receiving packages. The only problem that I see is shared variables…It would be a mess.

So what I am asking is a general recommendation…a pattern to follow…basic guidlines in a simple server / client game. The only thing that I have to send/receive are positions, but how would it be more efficent?

Thank you very much I’d appreciate any help, happy new year for those who can enjoy your vacation

p.d.: I’m using UDP.

if you using UDP then you would want to send a packet with neccesary info(x,y, and anything else needed) to the server every x milliseconds.

I’ve read it quite a few times on these boards and others, and I have instituted a similar system in a few of my own trials of just sending a keypress update to other players. If player 1 moves, then send that 1 keystroke or move change to the other players and let the other players machines move that 1 updated player. If player 1 stops moving, send that 1 change to the other players. It was also recommended to send position updates every so often also.

Using this idea worked pretty good for me.