macchina-io / macchina.io

macchina.io EDGE is a powerful C++ and JavaScript SDK for edge devices, multi-service IoT gateways and connected embedded systems.
https://macchina.io
GNU General Public License v3.0
515 stars 154 forks source link

Unix domain socket does not work on RemotingNG ServerHelper::enableEvents() Method #114

Open a1928370421 opened 2 years ago

a1928370421 commented 2 years ago

Describe the bug

Unix domain socket does not work on RemotingNG ServerHelper::enableEvents() Method.

Steps to Reproduce

  1. modify /platform/RemotingNG/samples/TimeServerTCP/TimeServer.cpp line 91-93 as following:

        // register TCP listener
        Poco::RemotingNG::TCP::Listener::Ptr pListener = new 
           Poco::RemotingNG::TCP::Listener("/home/yidan/timeserver.sock");//using unix domain socket
        std::string listener = Poco::RemotingNG::ORB::instance().registerListener(pListener);
  2. Compiling TimeServerTCP.

  3. The output we get:

Listener registered for protocol: tcp and endpoint: Registered RemoteObject, path: tcp/%2Fhome%2Fyidan%2Ftimeserver.sock/Services.TimeService/TheClock, URI: remoting.unix://%2Fhome%2Fyidan%2Ftimeserver.sock/tcp/Services.TimeService/TheClock Not found: remote object: remoting.unix://%2fhome%2fyidan%2ftimeserver.sock/tcp/Services.TimeService/TheClock

macchina.io Version

Compiler and Version

gcc version 7.5.0 (Ubuntu 7.5.0-3ubuntu1~18.04)

Operating System and Version

Linux yidan-dev-Virtual-Machine 5.4.0-120-generic #136~18.04.1-Ubuntu SMP Fri Jun 10 18:00:44 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux