• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Problema risolto Creare/inizializzare un socket

Questo è vero ma potresti non capire neanche una delle 5 risposte ...



1) Viene dichiarata una variabile di tipo struttuta WSAData

2) Viene creata una variabile di tipo WORD contenente un valore esadecimale 0x0201 (versione della libreria richiesta dal codice seguente, 2.1)

3) Viene chiamata la funzione WSAStartup a cui viene passata la variabile (con la versione di Winsock richiesta) e l'indirizzo della struttura che verrà riempita dalla funzione (viene riempito ogni elemento della struttura).

La funzione restituisce un codice di errore e dovrebbe essere usata così

int err = WSAStartup( Version, &wsa );

Se err è diverso da zero allora il sistema non trova una DLL di Winsock della versione richiesta utilizzabile. In caso contrario, la DLL viene caricata in memoria e nella struttura trovi le informazioni che ti servono per l'uso della stessa.


Grazie mille. Sto prendendo nota di queste tue spiegazioni. Ma, un'altra cosa. Cosa fa:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!
 
@HabboFanNumero1

una variabile di tipo struttura. Questa struttura serve per specificare un endpoint locale o remoto.

Sisi questo lo so, però per quanto riguarda i suoi membri:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

C'è questo, che serve a specificare un indirizzo IP sul quale mettere in ascolto il server. Perché vengono usati, se così posso definirli, membri insieme?

sin_addr e s_addr
 
Perché vengono usati, se così posso definirli, membri insieme?

Perché l'elemento sin_addr della struttura in questione è, a sua volta, una struttura di tipo in_addr

Per la documentazione vedi

Perfavore, Entra oppure Registrati per vedere i Link!


P.S. Questo fa parte delle conoscenze di base che si devono possedere. Non si possono avere dubbi di questo tipo perché vuol dire che si deve ancora studiare bene l'abc del linguaggio.
 
Perché l'elemento sin_addr della struttura in questione è, a sua volta, una struttura di tipo in_addr

Per la documentazione vedi

Perfavore, Entra oppure Registrati per vedere i Link!


P.S. Questo fa parte delle conoscenze di base che si devono possedere. Non si possono avere dubbi di questo tipo perché vuol dire che si deve ancora studiare bene l'abc del linguaggio.
Senti io ho comprato libri e studiato sui siti. Questi avevano anche degli esercizi da svolgere per verificare di aver capito gli argomenti. Sono arrivato fino ai puntatori, al preprocessore e ancora devo esercitarmi sulle classi. Se questa non è la base, dimmi tu.
Semplicemente, non mi era mai capitata una sintassi del genere per quanto riguarda le strutture.
Tutto quel che chiedo è un semplice aiuto, e ti ringrazio. Ma, sai, non è che al minimo dubbio c'è da rinfacciarmi che il tutto dovrei già saperlo perché fa parte dell'ABC del linguaggio. Sai, è un tantino fastidioso.
Grazie comunque. Ho risolto
 
Non te la prendere, se ti dico che usare delle strutture dentro delle strutture sono situazioni di base non vuol dire che tu non hai studiato o chissà cosa. Significa solamente che ti voglio avvisare che NON è difficile il codice ma che non hai ancora l'esperienza sufficiente per affrontarlo. E che non è un codice fantascientifico ma che solamente non hai ancora studiato a sufficienza. E non è un rimprovero ma uno stato di fatto.

E' come darti una soluzione ad un problema ... studia un po' di più le basi e dopo un po' di tempo, senza docenti, arriverai da solo a comprendere questo tipo di codice.

Buono studio.
 
  • Like
Reactions: 1 person