literature

Chapter 10: Client

Deviation Actions

jaqbenny's avatar
By
Published:
191 Views

Literature Text

Chapter 10: Client

The 2 servers remaining to write are the client and the System. I want to start with the client, as it is a much more closed system. Meaning that I don't have to worry much about the interfacing. I just have to deal with how to get data to the client and back. well suprise. I've already done that with the file server! (in hind sight I might have been able to build the file server off the clinet server system. to late now)

So my plan for the client is relatively simple. 2 main components. 1 component deals with the project end of things. it takes the WU, requests the files, imports code, and then runs it. the other component works with the system server. it is responsible for getting the current system's information, enrollment, and WU management.

As I look at it now I'm not sure which would actually be simplier. but I need to think about this. what would both of these systems look like. and what does the server look like? what data packets are transfered around. I think I'll start with the clinet system before i go to the project aspect. The clinet system is going to need some creative features. noteably:

1. detection of number of processor cores
2. Thread each WU
3. Figure out computer information
4. Enroll system
5. Instantiate and daemonize system.

I'm going to handle the instantiation of the system first. This is where it will read the config file and enroll into the main system. What I'm going to do is come up with some way of daemonizing that works on both systems. or find a way to figure out what OS is running and then have it daemonize depending on such.

One of the things I need to do cross platform is fetch the IP address. while this is relatively simple with linux, it isn't with windows, and as windows machines are my main target, this is an issue. So my method is this. I'm going to be building an admin console into the system when i program the server sider (which will also be the admin console for the clinet side, but anyway) that can be used to my advantage. I will connect to the server's admin console. log in as user: get, pw: ip in which case the server will simply return to the computer it's IP address and all is well.

Cracks are starting to come in to view. some ideas on how I could fix things up next itteration are at the same time. I've decided next time around when I have a standard item of data to pass around I will make it a class and pass that so that I can depend on it being consistant and easier to manipulate. I need a lot more uniformity is my end consensus. There are just issues that are starting to pop up all over because I don't currently have enough consistency.

Also I'm thinking Agile only works when you actually know what you are doing...

So what Am I going to do now? now that I'm starting to feel defeated by my own project. well simple. I'm going to try working from the opposite direction. The one area I've never tried programing before is the area of enrollment. The file server functions how I need to do that. so my intent is to just start programing the client and system and see what happens. I'll fix the network and file servers when I know all what needs to be fixed.

and that brings me back to working on this client. now I really need to think about this client. It only has 2 jobs, running the client and running projects. the first one being very self enclosed and the second one being a bit more involved.

It is really nice to do simple multithreading. the project servers are all their own thread but they function pretty independently. makes it nice for dealing with signals when I don't have to worry about who has what signal and who flips it and conflicts. just nice and simple threading.

anyway. I finished the client program. that is 3/5 done now. but I broke the network and file server in the process. I'm going to program the system server and admin console next, then I'll come back and deal with these issues.
It is almost done! wooohooo!
© 2011 - 2024 jaqbenny
Comments0
Join the community to add your comment. Already a deviant? Log In