[SOLVED] File system access from Internet

judaster

Distinguished
Mar 4, 2010
17
0
18,510
Hi all and thanks for reading,

I need to work with my colleague in the other part of the world, and we work in the same project. We created a web application long ago to track the work process and interchange information. Now we have new requirements and I was wondering if there is a way to interact with files in our local drives directly from the webpage, i.e copy one file from my drive to his local drive through the web application. I don’t think this is really feasible. What do you think?.

I guess the only option is to set-up a VPN?… or FTP?. We don't want to get rid of the web 😕

Thanks a lot!

Jud
 
Solution
I don't know what private socketing is, I'll try to learn something and come back.
Socket programming is like opening a port on a reachable ip-address, for instance, all websites provide the service over port 80, it's actually socketing, and 80 is to known as default HTTP port(443 for HTTPS), so opening a domain as http://gnu.org:80 is equal to http://gnu.org.

So when one of you dudes have a valid/reachable ip address(server), the other could hit a service(your app) running for some immediate service.

Having you dedicated socket and protocol allows you to have a connection-full link, for informing each other for no-delay ops, while this could be happened(simulated) using other protocols like HTTP, but mind they are...

judaster

Distinguished
Mar 4, 2010
17
0
18,510
Why not use a cloud based space, like DropBox or OneDrive.

Thanks USAFRet!

The problem is that files must be in the local drive in order to edit them. On top of that, we need to move them automatically in order to avoid mistakes, in the future there will be many people involved and no manual management of the files is required.

Jud
 
Sep 28, 2019
83
7
45
git could make some hand here. Not his system might not be always run and working, neither yours. So it's logical each person place the work on a central place(like github, a private repository maybe), and then having some managed push/pull scripts in order to keep each other updated.

A dedicated private socketing could help here in order to inform each other for an immediate/automated data sync from server. This could be done using a server(if you have) or ptp if one or both you have a valid ip address.

hope it helps
 
  • Like
Reactions: judaster
Sep 28, 2019
83
7
45
I don't know what private socketing is, I'll try to learn something and come back.
Socket programming is like opening a port on a reachable ip-address, for instance, all websites provide the service over port 80, it's actually socketing, and 80 is to known as default HTTP port(443 for HTTPS), so opening a domain as http://gnu.org:80 is equal to http://gnu.org.

So when one of you dudes have a valid/reachable ip address(server), the other could hit a service(your app) running for some immediate service.

Having you dedicated socket and protocol allows you to have a connection-full link, for informing each other for no-delay ops, while this could be happened(simulated) using other protocols like HTTP, but mind they are mostly connection-less, so you need to check the latest states periodically(unless you both have valid addresses which is kind of ideal)

Those tools you mentioned are more like rsync for me, I have a virtual development Mac here on my machine, I synch the latest works using a 1 hour rsync command for good, it works like charm.

It depends on your need! Do you need immediate actions at certain points? Do you want to just sync file changes only? With a dedicated socketing, you could literally do anything, but you need to code your stuffs own. Available tools(like rsycn, git, etc..) may come with limited/missed functionality you are looking for.

So I suggest start reading socket programming, and for learn it good, try to read HTTP protocol which is a very common and easy protocol to understand. Finally make a HTTP server using socket programming for good. Make sure you have good knowledge about threading and IO.

Happy programming
 
Solution

judaster

Distinguished
Mar 4, 2010
17
0
18,510
Socket programming is like opening a port on a reachable ip-address, for instance, all websites provide the service over port 80, it's actually socketing, and 80 is to known as default HTTP port(443 for HTTPS), so opening a domain as http://gnu.org:80 is equal to http://gnu.org.

So when one of you dudes have a valid/reachable ip address(server), the other could hit a service(your app) running for some immediate service.

Having you dedicated socket and protocol allows you to have a connection-full link, for informing each other for no-delay ops, while this could be happened(simulated) using other protocols like HTTP, but mind they are mostly connection-less, so you need to check the latest states periodically(unless you both have valid addresses which is kind of ideal)

Those tools you mentioned are more like rsync for me, I have a virtual development Mac here on my machine, I synch the latest works using a 1 hour rsync command for good, it works like charm.

It depends on your need! Do you need immediate actions at certain points? Do you want to just sync file changes only? With a dedicated socketing, you could literally do anything, but you need to code your stuffs own. Available tools(like rsycn, git, etc..) may come with limited/missed functionality you are looking for.

So I suggest start reading socket programming, and for learn it good, try to read HTTP protocol which is a very common and easy protocol to understand. Finally make a HTTP server using socket programming for good. Make sure you have good knowledge about threading and IO.

Happy programming

Thanks a lot null_dev for this proposal, it sounds like a very good option to me.

Yes at some point, we'll need inmediate actions, like i.e. automatically copying the file to a different folder once is placed in the "finished tasks" folder and send an email to the customer for example.

We have some basic coding experience, mainly with Python but need to improve a lot in order to tacke this project so I guess once we have everything clear we'll subcontract the coding :)

Thanks again and have a great day,

Jud