Well I've a petitions (or suggestions) I'm doing a online real-time game and have to solve that problem...
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 <[email protected]> > 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* <[email protected]> > Public Key: > [0xF8462E1593141C16]<http://pgp.mit.edu:11371/pks/lookup?op=get&search=0xF8462E1593141C16> > -- Nota: Tildes omitidas para evitar incompatibilidades. :wq
