Я пытаюсь отправить внутренний OSC на RasPberry Pi 3 с моей программой. Я включил OSCpack рекомендуемый способ, с исходным кодом, встроенным в мой проект (без библиотек).
Я получаю std::runtime_error unable to connect udpsocket
У меня есть класс с переменной-членом UdpTransmitSocket *oscSendSocket
который устанавливается в конструкторе класса как
oscSendSocket = new UdpTransmitSocket(IpEndpointName(oscSendAddr.c_str(),oscSendPort));
с oscSendAddr (например), равным «127.0.0.1», и oscSendPort, равным 7000
Это работает нормально на моей машине dev linux dev и не удается при попытке развернуть на raspberry pi3 под управлением buildroot. Я попытался заглянуть в источник OSCpack для получения дополнительной информации об ошибке, месте, где в UdpSocket.cpp выбрасывается std :: runtime_error:
void Connect( const IpEndpointName& remoteEndpoint )
{
SockaddrFromIpEndpointName( connectedAddr_, remoteEndpoint );
if (connect(socket_, (struct sockaddr *)&connectedAddr_, sizeof(connectedAddr_)) < 0) {
throw std::runtime_error("unable to connect udp socket\n");
}
isConnected_ = true;
}
Но я не могу глубже вникать и выяснять ПОЧЕМУ! Я знаю, что это довольно специфический вопрос, но если у кого-то есть какие-либо рекомендуемые шаги по отладке, это будет оценено.
* РЕДАКТИРОВАТЬ: Поскольку я не мог найти какой-либо ответ на этот вопрос, я переключился на использование liblo для OSC.
Задача ещё не решена.
Других решений пока нет …