Solved

VB6 Updating my customers data

Posted on 2013-06-19
4
414 Views
Last Modified: 2013-06-23
Using vb6, What is the best way to update my customers data through the internet

Option 1 - Winsock
a- The server side keeps listening to one port, what if 10 request reaches the server at the same time, is it capable of dealing with them at the same time using one port?
b- Also the server will answer back sending 30MB for each of the 10 request, is it possibe to deal with them through one port together at the same time?

Is option 1 good

Option 2 - FTP
I have heared that it can be hacked easily
Is option 2 good

Option 3- Is there option 3

What do most programmers use to update their software  e.g. norton, eset nod32, ....etc?

Regards
0
Comment
Question by:saljas
  • 2
  • 2
4 Comments
 
LVL 16

Expert Comment

by:AlexPace
Comment Utility
I think you'll have the best luck using a web server.  The reason is that you don't want to be in the business of having to support the client networks and which firewall port is or is not open...  Most locations will have port 80 either open or set up with an invisible proxy so you'll probably have the least problems if your software pretends to be a web browser.

Also you wont have to worry so much about the scaling issue because you can be pretty sure that the web server is designed to handle more than 10 concurrent clients.

If VB6 is your best language I would consider using Microsoft IIS web server with "Classic ASP" for the server-side logic if necessary..   The Classic ASP can use VBScript so that will feel more natural to you than a .NET language like C# or VB.NET
0
 

Author Comment

by:saljas
Comment Utility
Many thanks AlexPace,

Your answer
Winsock has more possible problems regarding the port.(eg firewal,.....)
web server has ready ability for 10 concurrent clients.

And as a result
the best choice is web server.
and for vb6 you advice IIS with Classic ASP.

I am rewriting your answer to make sure I understood correctly.  Please correct me if I misunderstand you.
0
 

Author Comment

by:saljas
Comment Utility
One more thing,
My software is not a web based, it is a windows application.
0
 
LVL 16

Accepted Solution

by:
AlexPace earned 500 total points
Comment Utility
Yes, your summary is great.  I have experience with the situation you described.  In my experience, end users tend to judge the quality of their network by the reliability of their web browser.  If their browser works and your software doesn't then they judge this to be your fault.  If their browser does not work then whatever problem your software has is the fault of their local network configuration.  I know this doesn't make sense but, in my experience, this is how end-users will judge you.

The solution is to use web technology for your own purposes.  You could do this by using winsock to send an HTTP Request to a server and then parsing the HTTP Response returned by the server.  These are just text strings and VB6 has decent built-in text processing functions as long as you remember not to concatenate long strings in a loop.

Even easier than winsock would be to use the Inet control, aka Internet Transfer control.  This control can do both the network level stuff and the HTTP header parsing stuff so you can avoid learning the finer details of a proper HTTP Request header format.

With your relatively small number of clients, the use of a web server designed to handle hundreds or thousands of concurrent connections completely eliminates your worries about scaling up.  

If you fundamentally don't care about who can access your 30mb download then you don't even need a scripting technology... just put the file on any old web server and you are done.  If you want to limit access to a small number of specific users then you could do it with a simple script.  From the client side, the Inet control could request to download the resource at this url: http://www.saljas.com/update.asp?id=xyz  Then, the logic in update.asp would evaluate the value id = xyz and decide if this request should be granted the 30mb file.  For the most simple case you could have list of all the allowed values of id built right into the script... or you could use a text file... or you could even scale up to using a database if you have a bunch of them.  Anyway, if the script logic determines that the request should be granted it sends the 30mb file... otherwise it sends a plain HTML web page that says something like, "Update unavailable, please contact saljas and pay more money!"

The great thing about this solution is that you can use a web browser to prove that it works because plugging the same url into the browser address bar will either result in a download or a web page.  So you can test the web distribution side of the system independently of your VB6 application.
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

A short article about a problem I had getting the GPS LocationListener working.
Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
This video teaches viewers about errors in exception handling.
The viewer will learn how to pass data into a function in C++. This is one step further in using functions. Instead of only printing text onto the console, the function will be able to perform calculations with argumentents given by the user.

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

11 Experts available now in Live!

Get 1:1 Help Now