- New web-connection setup
- 28 Nov 2005 05:31:05 pm
- Last edited by Kllrnohj on 28 Nov 2005 08:34:15 pm; edited 1 time in total
sweeeeeeeettt - no need to alther the headers anymore, w000t (for the client->gcn.cemetech.net communications)
i conviced Kerm to switch to a new web connection setup completely, which has 3 parts. The client (what the calc connects to), gcn.cemetech.net, and various servers (which are what the client connects to)
instead of gcn.cemetech.net acting the sole server, it would instead switch to a directory listings of sorts. It will now store a list of all active servers. When a client wants to join the network, it gets a list of servers from gcn.cemetech.net, and then connects to one of the servers. The servers will directly share data between each other. For example, if a find-user is requested by a client, the server that the client is connected to will first check its own user list. Failing to find one, it then sends the find-user request to other servers until the user is either found, or it runs out of other servers to connect to.
the client and servers will both be written in C++ using wxWidgets, and will "talk" to each other via sockets on a specific port. This will greatly increase performance, as the connections will be "kept alive", so that a "reconnect" isn't needed for every request by the client
This new system will greatly increase flexibility, performance, and expandibility.
Solutions to various problems:
1) What if no server exists?
-The client will "transform" itself into a client AND a server, and then proceed to connect to itself
2) What if a server is disconnected or shuts down?
-If either a sudden disconnect happens, or the server announces it is shutting down, then the clients of that server will automatically re-connect to a different server
3) [your question here?]
i conviced Kerm to switch to a new web connection setup completely, which has 3 parts. The client (what the calc connects to), gcn.cemetech.net, and various servers (which are what the client connects to)
instead of gcn.cemetech.net acting the sole server, it would instead switch to a directory listings of sorts. It will now store a list of all active servers. When a client wants to join the network, it gets a list of servers from gcn.cemetech.net, and then connects to one of the servers. The servers will directly share data between each other. For example, if a find-user is requested by a client, the server that the client is connected to will first check its own user list. Failing to find one, it then sends the find-user request to other servers until the user is either found, or it runs out of other servers to connect to.
the client and servers will both be written in C++ using wxWidgets, and will "talk" to each other via sockets on a specific port. This will greatly increase performance, as the connections will be "kept alive", so that a "reconnect" isn't needed for every request by the client
This new system will greatly increase flexibility, performance, and expandibility.
Solutions to various problems:
1) What if no server exists?
-The client will "transform" itself into a client AND a server, and then proceed to connect to itself
2) What if a server is disconnected or shuts down?
-If either a sudden disconnect happens, or the server announces it is shutting down, then the clients of that server will automatically re-connect to a different server
3) [your question here?]