Re: advice about a network app
<cartercc@gmail.com> wrote in message
news:1174506475.137772.19490@n76g2000hsh.googlegroups.com...
Sorry, but Java isn't my language, so I'm showing my ignorance.
My assignment is to create a number (35-40) client apps on a network
segment that will communicate with a server that also resides on the
segment. The clients accept queries from the server and reply to the
server. Queries are like, 'How many cases have you processed this
hour?, and replies can be an integer from 0 on up. The language in the
spec is Java.
In order to best tailor the answer for your situation, can you give
some background information: This sounds like a fairly complicated
project, so why would you try to implement it in a language you're not
familiar with? Is the goal to "practice" or "learn" Java, or is your
boss/client/teacher forcing you to use Java despite your where your skills
lie? Where *do* your skills lie? Have you ever written a distributed
application before? What programming languages are you familiar with? How
familiar are you with the TCP/IP protocol? etc.
The part that stumps me is building an application that will actually
place a client on a node and start it. I'm thinking about something
like this:
public static void main(String[] args) {
read configuration file that has the node name, IP addresse
and port of the network nodes
// each line looks like this: node1:192.168.100.1:9876
String line = readline();
ServerNode sn = new ServerNode(line);
start(sn);
line = readline();
while (line =! null) {
ClientNode cn = new ClientNode(line);
deploy cn to appropriate machine depending on IP
address;
start(cn);
line = readline();
}
}
Unfortunately, I'm having trouble getting started. Any suggestions as
to here to look? I don't have physical access to each machine to
deploy each client. Each node is gauranteed to have a JVM.
If you're familiar with the TCP/IP protocol, you would probably be
aware that in order to connect to a specific computer and exchange data
with it, that computer needs to be listening on some port, and your
connecting computer would need to specify the port when connecting.
You would also probably be aware that there must be some software on
these listening computers which will do something with the data they
receive from listening to those ports.
What that software is and what is does is critical to being able make
any progress.
- Oliver