There is no problem when starting pvserver locally(pvserver ip:127.0.0.1). There is only a problem when starting pvserver on another computer(ip:192.168.20.60) in the LAN
According to my business requirements, python automatically loads and displays VTu and VTM files, and after pvpython exits, use the paraview GUI to view the adjustment results.
You’re right, sadly documentation is not up to date : --multi-client option has been deprecated since ParaView 5.8.
What I would try either way :
from paraview.simple import *
Connect([...])
collaboration_manager = servermanager.ActiveConnection.Session.GetCollaborationManager()
collaboration_manager.UpdateUserInformations()
collaboration_manager.PromoteToMaster(collaboration_manager.GetUserId())
collaboration_manager.UpdateUserInformations()
# Read your file ..
# [...]
collaboration_manager.PromoteToMaster(pvid)
# where pvid is the user id of your GUI (likely 1 if the GUI is the first to connect)
collaboration_manager.UpdateUserInformations()
Also :
does creating a sphere (instead of reading your file) with the server on another computer also softlock ?
does your file live on client side or server side ?
@sofeiya2021 Is the other computer also running Windows?
Changes were made in Paraview 5.10.0 with respect to the client/server stream encoding for the remote server manager. Now Windows, Linux and Mac all use utf8 encoding. I don’t know if this is related to the current issue, but it would be sensible to eliminate that possibility by testing against Paraview 5.10 which has just been officially released.
Thanks for testing. First, your first test is expected to fail since you double clicked on the pvserver and did not pass the --multi-clients parameter.
pvserver.exe --multi-clients
is mandatory.
Now, please retry your second test with this script instead :
If it still doesn’t work then you can still try with ParaView 5.10 as @todoooo suggested. In my mind this is a Windows specific bug that is not likely to be resolved except if someone of the community track it down and fix it.
That said, what you could also do instead of relying on the --multi-clients feature is transfer the script to the ParaView GUI yourself through some custom sockets and execute the script directly within the GUI python shell (View -> Python Shell within the GUI). That is :
Create a ParaView plugin that listen to a specific port and can access the Python shell
Create a program that sends a python file to a specific IP:port
Launch the ParaView GUI you want to control with the ParaView plugin you created loaded
Launch the program you created to transfer the python script to your ParaView plugin