Salve,
premetto che non ho molta dimistichezza con il C.
Sto cercando di utilizzare una funzione di libreria scritta in C che permette il trasferimento di pacchetti dati attraverso il protocollo di trasporto UDP:
unsigned int sendUDP(unsigned char *data, unsigned int dataLength,unsigned long hisIP,unsigned int myPort
Nel parametro "unsigned long hisIP" dovrei inserire l'indirizzo IP del server, che accoglierà i miei dati, ma essendo definito come intero senza segno da 32 bit se inserisco l'ndirizzo IP cosi com'è esce fuori dal range e viene troncato.
Mi chiedo anche se nn definito esplicitamente posso inserire l'indirizzo che punta al mio indirizzo IP?
Avrei pensato di fare una cosa del genere:
char *ip = "128.168.1.1";
Ma poi passando il parametro alla funzione :
(sendUDP( (unsigned char *)UdpData, strlen( UdpData ),ip , 3455, 3456 )
Mi esce giustamente il seguente errore: argument of type "char*" is incompatible whit parameter of Type "unsigned long".
L'errore scompare del tutto se inserisco invece:
sendUDP( (unsigned char *)UdpData, strlen( UdpData ),*ip , 3455, 3456 )
Ovviamente alla fine nn funziona nulla.