lotodore
c998edf219
Fixed cleanup issue - the previous version had kind of a resource leak.
2009-01-31 22:20:08 +00:00
lotodore
e0ff6db98e
Create I/O service object in sender thread.
2009-01-26 20:57:39 +00:00
lotodore
f2c3b2b723
Fixed boost asio stuff. Now working but probably some polishing required.
2009-01-25 21:56:43 +00:00
lotodore
1e42a9e211
Fixed client termination.
2009-01-11 21:54:09 +00:00
lotodore
29061b661c
Fixed one thread per session implementation. Kind of. Still seems to have a handle leak on Windows. However, it does not scale at all and needs to be reverted. It won't even handle 500 players with 500 games on a dual core high end machine.
2009-01-11 20:12:26 +00:00
lotodore
d72cdb6873
One sender thread per client. Requires loads of resources. Kind of hacked, because the internal dependencies are very ugly now. Requires loads of testing. A problem might be the last packet sent by the server to a specific client before closing the connection, for example an error message. It might never even reach the client, because the sender thread is terminated before. I have not yet found a good way to fix this.
2009-01-07 21:52:16 +00:00
lotodore
d4350fa806
Fixed leaving a game which has not yet been started.
2008-05-16 20:42:46 +00:00
lotodore
b5c2399603
Use configuration setting to decide whether to download the server list or directly connect to the server. Accept other server lists. Accept un'zlib'ed server lists. Use IPv6 address from server list if configured.
2008-05-10 15:47:48 +00:00
lotodore
a24a93caba
Use unix linefeeds for all files. Finally. It's about time.
2007-11-16 15:24:25 +00:00
lotodore
cdea81b2ba
Fixed sender again, as it did not work when sending errors.
2007-10-28 15:06:57 +00:00
lotodore
fa7af40a49
Fixed a very nasty bug concerning the sender thread. SOCKETs were assumed to be kind of unique, but Windows tends to return the socket number of a socket which was just closed as new socket number in accept. This led to very strange behavior when the server was flooded with inits, because the sender thread still had entries for this socket number (which were not removed because they should just fail).
...
No longer use socket as key in maps, instead, use the session id. Only use the session id in the sender thread, "resolve" it to the socket only in the moment when it is needed. Outstanding requests will be detected to have an invalid session id then.
Also, as side effect, fixed an issue with two callback classes which were named the same and caused unexpected behavior.
2007-10-28 12:53:54 +00:00
lotodore
e6d1b46ba1
SCTP support.
2007-06-04 16:49:19 +00:00
lotodore
ca354dce7f
Started to implement server state engine.
2007-03-13 23:27:17 +00:00