diff --git a/src/viam/sdk/module/service.cpp b/src/viam/sdk/module/service.cpp index 738ffae91..4884201ab 100644 --- a/src/viam/sdk/module/service.cpp +++ b/src/viam/sdk/module/service.cpp @@ -269,7 +269,11 @@ ModuleService::~ModuleService() { void ModuleService::serve() { server_->register_service(impl_.get()); - const std::string address = "unix:" + module_->addr(); + std::string address; + if (module_->addr().find(':') == std::string::npos) { + address += "unix:"; + } + address += module_->addr(); server_->add_listening_port(address); module_->set_ready(); diff --git a/src/viam/sdk/robot/client.cpp b/src/viam/sdk/robot/client.cpp index 740c50fff..34f392830 100644 --- a/src/viam/sdk/robot/client.cpp +++ b/src/viam/sdk/robot/client.cpp @@ -294,7 +294,11 @@ std::shared_ptr RobotClient::at_address(const std::string& address, std::shared_ptr RobotClient::at_local_socket(const std::string& address, const Options& options) { - const std::string addr = "unix://" + address; + std::string addr; + if (address.find(':') == std::string::npos) { + addr += "unix:"; + } + addr += address; auto robot = RobotClient::with_channel( ViamChannel(sdk::impl::create_viam_channel(addr, grpc::InsecureChannelCredentials())), options);