Main Board > Language

*VIEWER* with SSH

(1/3) > >>

Ned L:
I am helping a client move an existing Providex Plus application to a new server.
On the new server, when trying to execute:
   OPEN (7) "*VIEWER*"
they get the following error:

0134 LET ParametersSoftware=NEW("*viewer/parameters","*viewer/software.prm")
Error #99: Feature not supported
   Current program is /pxplus/lib/_dev/preview, line 134

I found a post on this forum "How can I spawn a process when using WindX and SSH" (July 12, 2018)
and based on it, I tried setting
   %PXPLUS_HOST$="*x.x.x.x;22" (where x.x.x.x is the IP address of the server)
but that didn't seem to make any difference.
That same post suggests running *plus/cs/host in the background.  How would I do that? 

Details:
They have been running Providex 9.1 On Red Hat Enterprise Linux 5.3
The new system runs Providex 15 on Red Hat Enterprise Linux 7.6

They have been connecting sessions using
"C:\PVX Plus Technologies\Windx Plugin V10\pxplus.exe" WindX
and *VIEWER* has been working with no problems.

Under the new system, they connect using
"C:\PVX Plus Technologies\Windx Plugin 2018\pxplus.exe", with connection type SSH

Is there a way to give them access to *VIEWER* using the SSH connection?
If not, is there a recommended alternate way to connect that WOULD give them access the *VIEWER* ?

Thanks in advance for any assistance.

Ned Lee
QA Solutions Division, AMS Software


Mike King:
An SSH connection requires each session to log in to the server thus you cannot directly use any functionality that spawns a separate process such as SSH.

What you can to is make sure there is an open port on your server and set %PXPLUS_HOST$ as described in our online documentation regard *windx.utl;spawn.
(see last part of https://manual.pvxplus.com/page/windx/windxutl.htm)

So for example if your host is at IP address 192.168.1.123 and you open up port 20000 then you could set %PXPLUS_HOST$ to

*192.168.1.123;20000




Ned L:
Mike -
Thank you for your response!
But I need more guidance.
1) In your example, does 'open up port 20000' refer to specifying a port that the host firewall considers 'open'?  Or is it just 'any' port number?

2) My client has a 40 user license.  It is possible that more than one user will try to use *VIEWER* simultaneously. Can I use a hard-coded port number in the program (which would mean multiple users would use the same port number)?  If not, is there simple way for the PVX program to determine a separate port number for each user and set %PXPLUS_HOST$ appropriately?

Sorry if I'm being dense.   I really do appreciate your help.
- Ned

Mike King:
The 20000 can be any port you want, it just has to be open on your server so that the workstation can make an in-bound connection to it.

As for multiple users, the logic used to spawn a process does the following:


* Generates a random key (session ID)
* Write this key to a control file
* Locks a control record on the same control file to assure  only one process is doing starting up/connecting at a time
* Spawns a process on the server to monitor the selected port.  This process will listen for incoming connection on the specified port.
* Spawns a process on the workstation passing it the host address, port and random key
* Waits for the record with the session id to be removed (max 30 seconds)
* Removes lock from control record and exits back to process
When the workstation connects to the host the process, it passes it the random key.  The spawned host process then stop listening for any more connections and removes the key from the control file completing the connection which can then be used to run the viewer or any other program.

The above process means only one port is needed and can be shared between users.

Ned L:
Mike -
I am still having trouble.
Should the IP address in %PXPLUS_HOST$ be the address of the server, or the IP address of the Windows machine running Windx?  I've tried both, and the IT guy of my client has tried opening the firewall (for tcp) on both systems.

Restating the question:
Assume the the server is IP address 1.2.3.1 and WindX is running on 4.5.6.7 and an available port is 2000.
Should %PXPLUS_HOST$ be
*1.2.3.1;2000
or
*4.5.6.7;2000
or something else?

Also, if the value should be 4.5.6.7;2000 (which will be different on each user's WindX) what is an easy way for PxPlus sessions to determine their own IP address?

Thanks for your your help.
- Ned

Navigation

[0] Message Index

[#] Next page

Go to full version