Fixed Connection and Streamer mechanisms

This commit is contained in:
brunoherbelin
2020-11-03 18:34:38 +01:00
parent 34580ab5ea
commit 93e7027f48
4 changed files with 43 additions and 26 deletions

View File

@@ -170,15 +170,15 @@ void Connection::ask()
p << Connection::manager().connections_[0].port_handshake;
p << osc::EndMessage;
UdpSocket socket;
socket.SetEnableBroadcast(true);
// loop infinitely
while(true)
{
// broadcast on several ports
for(int i=HANDSHAKE_PORT; i<HANDSHAKE_PORT+MAX_HANDSHAKE; i++) {
UdpSocket socket;
socket.SetEnableBroadcast(true);
socket.SendTo( IpEndpointName( "255.255.255.255", i ), p.Data(), p.Size() );
}
for(int i=HANDSHAKE_PORT; i<HANDSHAKE_PORT+MAX_HANDSHAKE; i++)
socket.SendTo( IpEndpointName( i ), p.Data(), p.Size() );
// wait a bit
std::this_thread::sleep_for(std::chrono::milliseconds(500));
@@ -217,6 +217,7 @@ void ConnectionRequestListener::ProcessMessage( const osc::ReceivedMessage& m,
std::string remote_ip(sender);
remote_ip = remote_ip.substr(0, remote_ip.find_last_of(":"));
try{
// ping request : reply with pong
if( std::strcmp( m.AddressPattern(), OSC_PREFIX OSC_PING) == 0 ){