#include "highreceiver.h" #include #include #include #include #include HighReceiver::HighReceiver(short int portHigh){ printf("LowReceiver::LowReceiver --"); _socket_desc = socket(AF_INET, SOCK_DGRAM, 0); /* et l'autre variante : AF_UNIX */ if (_socket_desc < 0){ /* error */ perror("Creation de la socket impossible"); fprintf(stderr,"BOUM at %s:%d",__FILE__,__LINE__); // FIXME: throw something exit(-1); } struct sockaddr_in * _socket_addr = new sockaddr_in; // port_low = externe // port_high = interne bzero(_socket_addr,sizeof(sockaddr_in)); _socket_addr->sin_family = AF_INET; _socket_addr->sin_port = htons(portHigh); _socket_addr->sin_addr.s_addr = htonl(INADDR_ANY); // chopper une socket if (bind(_socket_desc,(struct sockaddr *)_socket_addr,sizeof(sockaddr_in)) < 0) { //FIXME : throw something perror("Attachement de la socket impossible"); fprintf(stderr,"BOUM at %s:%d",__FILE__,__LINE__); exit(-1); } } HighReceiver::~HighReceiver(){ delete _socket_addr; } void HighReceiver::run(){ while(1){ sleep(1); printf("HighReceiver::run -- \n"); } }