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

Free Tool: Postgres Monitoring System

A PHP and Perl based system to collect and display usage statistics from PostgreSQL databases.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
vbModal 12 57
Bartender Integration Builder 3 45
sp_configure 'external scripts enabled', 1; 7 81
AvlTree-Node Data type 4 14
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
If you’re thinking to yourself “That description sounds a lot like two people doing the work that one could accomplish,” you’re not alone.
The viewer will learn how to use the return statement in functions in C++. The video will also teach the user how to pass data to a function and have the function return data back for further processing.

820 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