[Paraview] C++ Catalyst vtkSocket::Receive stuck in loop on Windows
Simon Klarmann
klarmann at mechanik.tu-darmstadt.de
Wed Jul 5 10:11:50 EDT 2017
Dear Members,
I wanted to get rid of the dependency on Python. The connection by pure C++
works just fine.
The problem occurs when establishing the live connection to Paraview,
closing Paraview and then try to send some data again.
I tracked it down to the vtkSocket class inside the method Receive. After
the connection is terminated on the Paraview side, e.g. by closing Paraview,
the call of vtkLiveInsituLink::InsituUpdate gets stuck in the
vtkSocket::Receive method. Even though I get a message that the connection
was terminated.
A temporary fix for my case was to replace in Line 609 of the vtkSocket.cxx
if (nRecvd == 0) with if (nRecvd <= 0), because on disconnection the return
value of nRecvd is -1. Then everything works well.
I only used the following methods in the given order to transfer the data:
vtkLiveInsituLink::InsituUpdate
vtkSMSourceProxy::UpdatePipeline
vtkLiveInsituLink::InsituPostProcess
Are there further steps to perform or is there a way to check if the
connection is still alive?
Operating System: Windows 7, Visual Studio 2017
Thanks,
Simon
Dipl.-Ing. Simon Klarmann
Bau- und Umweltingenieurwissenschaften
Technische Universität Darmstadt
Fachgebiet Festkörpermechanik
Tel.: +49 6151 16 22642
Mail: klarmann at mechanik.tu-darmstadt.de
Franziska-Braun-Straße 7
Gebäude L5|01, Raum 542
64287 Darmstadt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/paraview/attachments/20170705/70a568b2/attachment.html>
More information about the ParaView
mailing list