B4J Question How to use b4j on vps?

Hello
I want to use b4j on vps for the first time.
I want to create a clip making program with b4a so that the user sends a series of information such as photos, text, etc. to the server and this information will be sent to b4j. In b4j and on the server, a series of changes may be made to the data, for example, the images will be compressed or their color will change.
I will run a bat file from b4j. That bat file executes an exe file and gives it parameters to create a video file. (Parameters will be the same information sent by the user)
That exe file will make a video based on the information given (depending on the amount of information this process can take from one minute to twenty minutes.)

Now the questions I have are:
1- If 10 users request to make a clip from the server at the same time, can b4j make all of them at the same time? That exe file can be executed ten times at a time ?! No data interruptions in b4j or that exe file? Or should the requests be queued and executed one after the other? I hope you understand what I mean. For example, we can not open an exe file on our PC, it can do ten things for us at a time, and we can give it 10 pieces of information at a time, and after a minute it will deliver 10 clips to us, but we can only Give it some information for a moment and after 1 minute just get the output.

2- What kind of project should I make for this on the vps side? b4j server or b4xpages? I once created a b4xpages project on the server side and created a b4j project and then compiled it like a computer software and I was able to connect to it with the socket through the Android app. What is the difference between the two? I feel that building a project with b4j server is a bit difficult and of course it creates an automated web project that contains html code, but I do not want to create a site, I explained the method above. Please tell, whats the story of them big puppys .....

3- After running the software on the server, should I leave the server as it is? Is it possible to hack the server or be able to hack the server without paying money? Or the server may not burn?

4- Do I have to send the data from the client to the server with a socket? So how should photos be submitted? How do I return the video generated on the server to the client?

Please fully guide me. I am a beginner in b4j and this is my first online project.
 

aeric

Expert
Licensed User
Longtime User
Try to learn by breaking down your mega project and doing small projects first. You may need to build a b4jserver (non-UI) and B4J desktop client. You can add a push notification from the server to the client once processing is completed.
 
Upvote 0
Try to learn by breaking down your mega project and doing small projects first. You may need to build a b4jserver (non-UI) and B4J desktop client. You can add a push notification from the server to the client once processing is completed.
Thank you for your response.
Can you help more?
Will users' tasks not be processed at the same time?
 
Upvote 0

Harris

Expert
Licensed User
Longtime User
It is quite easy, as I have found. Whether Linux or WIN - I have both. You just have to dive in and experiment.
Like @aeric stated - depends on your config. How many users, how many hits (per second, minute, hour,).

What DB? Are you using jRDBC?

All your answers are here without me or others repeating ourselves to explain what you need to learn - on your own.
That's how we taught ourselves with help from others - and posted solutions - who went down this same path - with answers from our questions.

ALL - of what I have learned was derived from what is posted here (B4X) - and my own intellect of comprehension...
I am sure you can achieve the same.

Thanks
 
Upvote 0

aeric

Expert
Licensed User
Longtime User
How do I configure it? Should the server be configured or b4j?

You configure in B4J using server handler (set the third parameter to False for multithreaded)
B4X:
srvr.AddHandler("/hello", "HelloPage", False)

Please follow the tutorial [Server] Building web servers with B4J.

Threading

When you add a handler you need to specify whether you want it to be a single threaded handler or a multithreaded handler. By default you should use multithreaded handlers (third parameter should be false).

A multithreaded handler means that your handler code will be run by a thread from the server threads pool. Multiple instances of the same handler and other handlers can be executed in the same time. As long as you don't access any global variable out of the current handler instance you should be safe.

A single threaded handler will always be executed by the main thread. This means that if there are multiple requests they will be queued and executed one by one. Single threaded handlers can be useful in many cases.
 
Upvote 0
Top