I'll suggest you to do the thinks that are necessary from TCP to use over UDP, that's:
A packet indexing method (to mantain the order of the packets in the reciber, it can be done by inserting extra bits in the head of each packet)
A CRC to find errors.
To make online games, you prefer UDP vs TCP because UDP supports multicast (well, the ISP's normally no, but the protocol yes) and because the lost/corrupted packages are resended by stoping the queue (and that's no aceptable for a game in real-time. In that sort of games you prefer to recognize a damaged package and ignore it, TCP sends to emissor a ACK of each package and THEN emissor sends the next one or resends the last one if something went wrong... it sucks...). So the CRC will be a great idea.
The order: normally, I send to clients from server orders to draw in screen (draw image A in screen coords x,y, image B in x1,y1...) but the order must be known in the client (sending info in each package saying: now there is the info of tho next screen to draw, the number X: draw a image A in screen coords x,y, image B....) so if the packet of the screen number X+1 arrives to client before the X, the client will draw the X+1 and ignore the X.
2011/3/6 Joseph Lewis
<joehms22@xxxxxxxxx>
Hi,
Does pygame have a networking module? There doesn't seem to be anything about networking in the documentation or subversion.
If there is no module I was thinking about building one through GSOC 2011, if pygame is participating of course, with some general features, such as:
- Chat (possibly with expletive filtering).
- A way to send objects transparently across the network.
- Possible multicast.
- A high level client server model to allow for quick setup of certain kinds of games (i.e. turn based)
- Any other cool suggestions you have.
Cheers,
Joe
--
Message Sent By: Joseph Lewis
Public Key: [0xF8462E1593141C16]
--
Nota: Tildes omitidas para evitar incompatibilidades.
:wq