Quantcast
Channel: openFrameworks - Latest posts
Viewing all articles
Browse latest Browse all 40524

ofxUDPManager - bi directionnal

$
0
0

there's been a lot of fixes on the network addon in the master branch in github so it might have been fixed since the release but this is working for me now:

        int port = ofRandom(15000, 65535);
        ofxUDPManager server;
        server.Create();
        server.SetNonBlocking(false);
        server.Bind(port);
        server.Connect("127.0.0.1", port+1);

        std::string messageSent="message";
        std::vector<char> bufferReceive(messageSent.size(),0);
        std::string messageReceived;

        ofxUDPManager client;
        client.Create();
        client.SetNonBlocking(false);
        client.Bind(port+1);
        client.Connect("127.0.0.1", port);


        client.Send(messageSent.c_str(), messageSent.size());
        auto ret = server.Receive(bufferReceive.data(), messageSent.size());
        if(ret>=0){
            messageReceived.assign(bufferReceive.begin(), bufferReceive.end());
            if(messageSent != messageReceived){
                ofLogError() << "message different";
            }
       }else{
           ofLogError() << "error while receiving"
       }


        server.Send(messageSent.c_str(), messageSent.size());
        bufferReceive.assign(messageSent.size(),0);
        ret = client.Receive(bufferReceive.data(), messageSent.size());
        if(ret>=0){
            messageReceived.assign(bufferReceive.begin(), bufferReceive.end());
            if(messageSent != messageReceived){
                ofLogError() << "message different";
            }
       }else{
           ofLogError() << "error while receiving"
       }


        client.Send(messageSent.c_str(), messageSent.size());
        auto ret = server.Receive(bufferReceive.data(), messageSent.size());
        if(ret>=0){
            messageReceived.assign(bufferReceive.begin(), bufferReceive.end());
            if(messageSent != messageReceived){
                ofLogError() << "message different";
            }
       }else{
           ofLogError() << "error while receiving"
       }


        server.Send(messageSent.c_str(), messageSent.size());
        bufferReceive.assign(messageSent.size(),0);
        ret = client.Receive(bufferReceive.data(), messageSent.size());
        if(ret>=0){
            messageReceived.assign(bufferReceive.begin(), bufferReceive.end());
            if(messageSent != messageReceived){
                ofLogError() << "message different";
            }
       }else{
           ofLogError() << "error while receiving"
       }

Viewing all articles
Browse latest Browse all 40524

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>