Commit Graph
17 Commits
Author SHA1 Message Date
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 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 7a157b682a The client now downloads a zipped server list file from pokerth.net. This is parsed and the first server entry is used for now. Error handling still missing. boost::iostreams now required. 2008-04-19 11:48:09 +00:00
lotodore b97c56cd26 Use alternate dns name if name resolution fails for internet server (6dns.org seems to be unreliable, but is still the only one to provide both ipv4 and ipv6 name resolution for free). 2007-11-30 21:28:38 +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 e8eddd3b1b Show avatars in network games. User defined avatars are not transfered yet, but this is already prepared for integration. 2007-09-09 00:00:19 +00:00
lotodore ecab6ed86b Fixed a really nasty receive bug (TCP only). Using SCTP would be so much better... 2007-09-03 16:35:45 +00:00
lotodore e6d1b46ba1 SCTP support. 2007-06-04 16:49:19 +00:00
lotodore 2022e794ae Removed some TODOs. Fixed network error message. 2007-06-02 21:19:19 +00:00
lotodore 2f5c8d7da1 Redone network packet abstraction. Prepared for easy access to packet data. 2007-04-08 16:18:20 +00:00
lotodore ca354dce7f Started to implement server state engine. 2007-03-13 23:27:17 +00:00