Visualizzazione dei risultati da 1 a 4 su 4
  1. #1

    problema di passaggio parametri in funzione di libreria

    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.

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Forse qualcosa del genere

    codice:
    unsigned int ip = inet_addr("128.168.1.1");
    
    sendUDP((unsigned char *)UdpData, strlen(UdpData), ip , 3455, 3456);

  3. #3
    Ciao oregon,

    Forse ho scordato di dire la cosa più importante e cioè che la funzione di cui ho parlato prima viene utilizzata da una piattaforma basata su microcontroller.

    Nel compilatore che utilizzo per la sua programmazione la funzione
    unsigned int ip = inet_addr("128.168.1.1");
    non esiste.

    C'è un modo per implementarla manualmente?

    grazie Nicola

  4. #4
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Originariamente inviato da Nicolacicco
    Ciao oregon,

    Forse ho scordato di dire la cosa più importante e cioè che la funzione di cui ho parlato prima viene utilizzata da una piattaforma basata su microcontroller.
    Direi ...

    Quale microcontroller? Quale piattaforma di sviluppo/compilatore?

    Originariamente inviato da Nicolacicco
    Nel compilatore che utilizzo per la sua programmazione la funzione
    unsigned int ip = inet_addr("128.168.1.1");
    non esiste.

    C'è un modo per implementarla manualmente?
    Sicuramente ... prima fammi sapere quelle info ...

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.