Closed AuMilliat closed 1 year ago
Hello, it would be helpful if you could share your code, at least the parts where you setup the remote importer and exporter components. How are they configured in your application?
Another quick thing to check is your Windows firewall settings. Make sure your application is allowed through the firewall (Public and Private).
Hello, thanks for your time.
For exporter:
pipeline = Pipeline.Create(enableDiagnostics: true);
Out1 = pipeline.CreateEmitter<uint>(this, "Group1");
Out2 = pipeline.CreateEmitter<uint>(this, "Group2");
Out3 = pipeline.CreateEmitter<uint>(this, "Group3");
Out4 = pipeline.CreateEmitter<uint>(this, "Group4");
Out5 = pipeline.CreateEmitter<uint>(this, "Group5");
exporter = new RemoteExporter(pipeline);
exporter.Exporter.Write(Out1, "Group1");
exporter.Exporter.Write(Out2, "Group2");
exporter.Exporter.Write(Out3, "Group3");
exporter.Exporter.Write(Out4, "Group4");
exporter.Exporter.Write(Out5, "Group5");
pipeline.RunAsync();
InitializeComponent();
For the importer:
using Microsoft.Psi;
using Microsoft.Psi.Remoting;
// Enabling diagnotstics !!!
Pipeline p = Pipeline.Create(enableDiagnostics: true);
/*** REMOTE IMPORTER ! ***/
RemoteImporter importer = new RemoteImporter(p, ReplayDescriptor.ReplayAll.Interval, "TABLETTE");
Console.WriteLine("connecting");
if (!importer.Connected.WaitOne(-1))
{
throw new Exception("could not connect to server");
}
Console.WriteLine("connected");
// RunAsync the pipeline in non-blocking mode.
p.RunAsync(ReplayDescriptor.ReplayAllRealTime);
// Wainting for an out key
Console.WriteLine("Press any key to stop the application.");
Console.ReadLine();
// Stop correctly the pipeline.
p.Dispose();
We've tried without firewall and on a local network. I was guessing it's more related to configuration in PSI or something going wrong as the metadata are received.
From the trace it appears that the TCP connection is made successfully and stream metadata is transferred (this is over TCP regardless of the data TransportKind
). But then it fails to make the data connection. This is over named pipes by default.
Is it possible to try another transport - perhaps TCP (the TransportKind
argument to the RemoteExporter
ctor)?
It's working with TCP, thanks!
Is it worth dinging on the named pipes exception ?
Glad TCP is working!
The named pipes exception HRESULT seems to indicate some authentication or access issue. I think we need to add more useful exception messaging and also may need to add options to configure security descriptors, etc..
Yeah, I'm not familiar with named pipe, I was expecting the usual "run as administrator" on both side would do the job.
I'm closing the issue, thanks for your time!
We've been trying to get working the remote importer/exporter over a network without success. I don't know if we've missed something or if it's a bug.
At start everything seems fine, like in localhost :
HRESULT: 0x8007052E
The stacktrace: