[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 341
  • Last Modified:

Need some advice before design/coding a network baes software


Hello group,

I'm planning to write a utility to setup on two different work stations (X and Y). Each work station lives in two different networks. I like to be able to see and have access to contents or see storage

Where can I start to implement this kind of application from scratch? what elements are important to create such a software?

Thanks.
Ak
0
akohan
Asked:
akohan
  • 4
  • 3
  • 2
1 Solution
 
djon2003Commented:
First, you should try to use TcpClient to send/receive data. After making you a hand with this, you'll be able to think of the protocol you'll create to your purpose.

A protocol shall include :
- Message structure
- Message acceptable using the structure defined
- The interaction between the two parties in terms on the order of messages to achieve a functionality.
- The error detection / correction
- The security level (as you would probably pass over the internet, any can intercept your data)

Meaning that, you probably profit to document yourself on existing protocols and those subjects.

After having tested mentally and conceptually your protocol, you can implement it using the TcpClient.
0
 
akohanAuthor Commented:


Thanks Djon,

so base on that what data do I need to be able to make a peer to peer connections. or I guess I cannot call that peer to peer connection since they will be in 2 different networks. Right?
0
 
djon2003Commented:
That's something to decide too. Do you want a client/server paradigm, P2P, else ? That depends also on your needs and what you want to offer.
0
NFR key for Veeam Agent for Linux

Veeam is happy to provide a free NFR license for one year.  It allows for the non‑production use and valid for five workstations and two servers. Veeam Agent for Linux is a simple backup tool for your Linux installations, both on‑premises and in the public cloud.

 
OrcbighterCommented:
Just a thought;
You state "...I like to be able to see and have access to contents or see storage"

You don't specify whether your programs will pass this information across the network, or if this information is purely for use by the local copy of your program.
If you are doing the first option, then the first question will be whether the network security people (who are all wonderfull people, really!) will let you do this. If the answer is no, and you can't convince them otherwise, there is no point in writing the program in the first palce.
Just a happy thought for you to ponder :-)
 
0
 
akohanAuthor Commented:

For now the requirements is only to see the contents on other station ... not passing anything just checking and displaying contents of a remove machine.

Thanks.
0
 
OrcbighterCommented:
OK,
first point, from your response I understand that you will be accessing remote machines to see what the contents are on that macjhine. If correct, then the act of "seeing" is actually having information from those machines being passed back for you to view. The only way to view the information directly would be to log on to each machine, which I think is not what you want.
Most commercial products that do similar tasks to what you describe use a similar setup. They have a client program on the remote machine (daemon in Unix, service in Windows) that performs all the data acquisition tasks. They start with the machine when its boots and run continuously.
Then,
On another machine they can run a main task that can connect to the client on the remote machine ( or the remote client can be periodically trying to connect to the main task).  When the connection to the main program is made, the remote client transmits the latest information, probanly via TCP/IP, although some sites may prefer you to use HTTPS. Your main program can then format the data for viewing or for reports as you see fit.
0
 
akohanAuthor Commented:


Hi OrcBighter,

Thank you for the heads up. May I ask what direction I should take toward this theory? any online resources or book that I can go for?

Thanks,
ak
0
 
OrcbighterCommented:
Firstly, I take it from your question that you want to write it all yourself? Thus ruling out any existing 3rd-party software that might already  do the job, such as TeamViwer.

Secondly, you could look at Microsoft's Remote Desktop Services facility (used to be called Terminal Services). This would be the means to access the computer, then you could run a tailored program that could be run and report.
or
Thirdly,
Use the client-server idea I mentioned previously. If this suits, do some research on some simple client-server or pier-to-peir programs in whatever language you decide on, in order to understand TCP and how to use it. Afterall, this will be the means that you use to connect from server to client and pass information.
The next thing would be to do similar research on Windows Services. This will be the architecture you use to design the programs that will run on the remote machines.
0
 
akohanAuthor Commented:
Thanks.
0

Featured Post

Prepare for your VMware VCP6-DCV exam.

Josh Coen and Jason Langer have prepared the latest edition of VCP study guide. Both authors have been working in the IT field for more than a decade, and both hold VMware certifications. This 163-page guide covers all 10 of the exam blueprint sections.

  • 4
  • 3
  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now