VB6 Updating my customers data

Posted on 2013-06-19
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?

Question by:saljas
  • 2
  • 2
LVL 16

Expert Comment

ID: 39260226
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

Author Comment

ID: 39261608
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.

Author Comment

ID: 39261717
One more thing,
My software is not a web based, it is a windows application.
LVL 16

Accepted Solution

AlexPace earned 500 total points
ID: 39262229
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:  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.

Featured Post

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

In this post we will learn how to connect and configure Android Device (Smartphone etc.) with Android Studio. After that we will run a simple Hello World Program.
If you need to start windows update installation remotely or as a scheduled task you will find this very helpful.
This theoretical tutorial explains exceptions, reasons for exceptions, different categories of exception and exception hierarchy.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

813 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

18 Experts available now in Live!

Get 1:1 Help Now