[gameprogrammer] Re: Networking for games

Isnt Bob Pendletons SDL_net2 library threaded? If you used that, you 
would get network threading for free.

Vince wrote:

>I've been reading through the Quake II source and it
>heavily agrees with your advice here.  Now I'm in the
>middle of a discussion with a friend about threading. 
>I was contemplating having a thread dedicated to
>networking, but it looks like that will make my
>project more complex than I want it to be.  I'm also
>hearing that debugging threads is a real pain.  Right
>now we fork on new connections since we're not going
>for multiplayer right now.
>What are your (or anyone's) experiences with
>threading?
>
>Vince~
>
>--- Olof Bjarnason <olof.bjarnason@xxxxxxxxx> wrote:
>  
>
>>I don't know of any industry standard way for this -
>>after all it is
>>your own protocol.
>>
>>One way of doing this, which is easily re-used later
>>on, is NOT
>>putting any "type" specifier in the header, ONLY the
>>size and the
>>data. The type could then be put in the data instead
>>- making re-use
>>of this protocol easy in the future.
>>
>>Decide on a max-length first of all. Say you decide
>>200 bytes to be
>>max length. Then a one-byte-header is enough, and
>>you could go with a
>>c structure like
>>
>>struct Message {
>>  unsigned char length;
>>  unsigned char data[200];
>>};
>>
>>.. and the corresponding read/write procedure
>>prototypes:
>>
>>int writeToSocket(SockStructure* sock, Message*
>>msg);
>>int readFromSocket(SockStructure* sock, Message*
>>msg);
>>
>>Decide whether you want these to be blocking or
>>non-blocking. If you
>>are already using threads, then blocking is quite
>>feasible. If your in
>>a single-thread situation, non-blocking (ie.
>>polling) is easier on the
>>responsiveness of the application.
>>
>>Be careful in the implementation, especially in the
>>readFromSocket()
>>procedure, since the whole message might not arrive
>>and also two
>>messages in a row might be concatenated. [ use some
>>helper
>>array/structure in order to store parts of arrived
>>messages ..
>>memcpy() might be handy here ].
>>
>>Good luck!
>>
>>/Olof
>>    
>>
>
>
>               
>__________________________________ 
>Yahoo! Mail Mobile 
>Take Yahoo! Mail with you! Check email on your mobile phone. 
>http://mobile.yahoo.com/learn/mail 
>
>
>---------------------
>To unsubscribe go to http://gameprogrammer.com/mailinglist.html
>
>
>
>
>  
>

-- 
Jacob Briggs
Systems Engineer
Core Technology
Ph: +64 (04) 499 1102

--

Named after its country of origin 'England', English is a little known dialect 
used by up to 1.5 billion non-Americans worldwide. Some interesting but 
obviously incorrect features of the language include:

- queues of people
- wonderful coloUrs
- the useful metal aluminIum
- the exotic herbs (h-urbs), basil (ba-zil) and oregano (o-re-gaa-no)
- specialiSed books called 'dictionaries' that tell you how to spell words 
correctly

Many people using this bizarre gutter speak also subscribe to the pagan belief 
that water freezes at 0 degrees and that distances should be measured in the 
forbidden mathematical system of base-10...



---------------------
To unsubscribe go to http://gameprogrammer.com/mailinglist.html


Other related posts: