Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il convertibile di classe
Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il convertibile di classe
La flessibilità di configurazione è il punto di forza di questo 2-in-1, che ripropone in un form factor alternativo tutta la tipica qualità dei prodotti Lenovo della famiglia ThinkPad. Qualità costruttiva ai vertici, ottima dotazione hardware ma costo che si presenta molto elevato.
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart
Mentre Ubisoft vorrebbe chiedere agli utenti, all'occorrenza, di distruggere perfino le copie fisiche dei propri giochi, il movimento Stop Killing Games si sta battendo per preservare quella che l'Unione Europea ha già riconosciuto come una forma d'arte. Abbiamo avuto modo di parlare con Daniel Ondruska, portavoce dell'Iniziativa Europa volta a preservare la conservazione dei videogiochi
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione
Abbiamo provato il nuovo Galaxy S25 Edge, uno smartphone unico per il suo spessore di soli 5,8 mm e un peso super piuma. Parliamo di un device che ha pro e contro, ma sicuramente si differenzia dalla massa per la sua portabilità, ma non senza qualche compromesso. Ecco la nostra prova completa.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-12-2009, 13:04   #1
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
[C] - Errore nel binding

Sto imparando la programmazione di rete in ambiente Unix!

Ho creato un programma server che crea una socket e successivamente cerca di associarla ad un indirizzo!
questo è un pezzo del codice
Codice:
//creazione socket server
        sock_ds = socket(PF_INET, SOCK_STREAM, 0);
        if(sock_ds == -1)Error_("Errore creazione socket");

        //creazione e associazione ad indirizzo
        struct sockaddr_in my;
        my.sin_family = AF_INET;
        my.sin_port = 60000;
        inet_pton(AF_INET, "192.168.1.4", &my.sin_addr.s_addr);

        if(bind(sock_ds, (struct sockaddr*)&my, sizeof(my)) == -1)Error_("Errore binding server");

        //messa in ascolto del server
        if(listen(sock_ds, 3) == -1)Error_("Errore ascolto del server");

        //struttura del client
        struct sockaddr_in client;
        int client_dim = sizeof(client);
        int client_ds;
il problema sorge quando termino il server e successivamente vado a riavviarlo! Risultato della chiamata bind() è -1! Questa cosa mi succede anche con il client: dopo aver contattato il server, eseguito le operazioni che volevo eseguire, e successivamente uscito, non sono più in grado di far riuscire la bind() per un certo tempo! Non riesco a venirne a capo! Ci sono suggerimenti?

Ho fatto anche altre prove! Dato che al -1 della chiamata bind() uscivo con la macro Error_, ho semplicemente inserito un puts("Errore bind"); e poi continuato ad eseguire il programma! Funziona correttamente! Cioè non c'è nessun problema dato che la comunicazione funziona!
clockover è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2009, 13:46   #2
maulattu
Senior Member
 
L'Avatar di maulattu
 
Iscritto dal: Mar 2005
Città: ~
Messaggi: 740
domanda scema: chiudi il socket "sock_ds" quando termini il server?
ocio: durante la stessa esecuzione del server, la bind va eseguita una e una sola volta.
in sostanza uno pseudo codice è:
Codice:
sock = socket(...)
bind
listen
while ((sock_client = accept(...)) != -1)
{
   gestisci creazione del client (processo/thread)
}
__________________
Ciao ciao cagnolino Billy
MacMini late 2009, 2.53GHz, 4GB ram, 320GB hard disk, Snow Leopard 10.8.2 - iPod Nano 6th gen.
XBOX Live GamerTag: InsaneMau

Ultima modifica di maulattu : 20-12-2009 alle 13:48.
maulattu è offline   Rispondi citando il messaggio o parte di esso
Old 20-12-2009, 14:43   #3
clockover
Senior Member
 
L'Avatar di clockover
 
Iscritto dal: Oct 2004
Messaggi: 1945
Porca miseria mi sono dimenticato... che cretino.... ecco perchè poi il client mi funzionava bene poi... perchè chiudevo il descrittore alla fine!

Rimanendo in tema avrei ancora un paio di dubbi in materia:
1) usando la macro INADDR_ANY per l'assegnazione dell'indirizzo, quale indirizzo assegno in realtà? L'indirizzo di localhost oppure quello di eth0?
2) Lato client vorrei usufruire di una ephemeral port. Nella specifica della sin_port dovrei mettere il valore 0 giusto?

Ragazzi se mi vengono altri dubbi non abbiate paura.. chiederò ancora
clockover è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il convertibile di classe Lenovo ThinkPad X1 2-in-1 G10 Aura Edition: il c...
Intervista a Stop Killing Games: distruggere videogiochi è come bruciare la musica di Mozart Intervista a Stop Killing Games: distruggere vid...
Samsung Galaxy S25 Edge: il top di gamma ultrasottile e leggerissimo. La recensione Samsung Galaxy S25 Edge: il top di gamma ultraso...
HP Elitebook Ultra G1i 14 è il notebook compatto, potente e robusto HP Elitebook Ultra G1i 14 è il notebook c...
Microsoft Surface Pro 12 è il 2 in 1 più compatto e silenzioso Microsoft Surface Pro 12 è il 2 in 1 pi&u...
Philips porta OneBlade su Fortnite: arri...
Il consumo dei data center AI esplode: r...
Dimenticate tutto quello che avete visto...
Prodotti illegali su Temu: l'UE avvia pr...
La Cina vuole una governance globale del...
Aperta la CALL4INNOVIT 2025: al centro r...
ECOVACS DEEBOT T50 OMNI è recente...
Torvalds rilascia Linux 6.16, le novit&a...
Top 7 Amazon Bestseller: GoPro MAX fa un...
Steam cambia volto: scopri la nuova orga...
Hai una AnkerMake? Potrebbe essere gi&ag...
Lanciato il razzo spaziale Vega-C VV27 c...
Facebook è la prima piattaforma p...
Il co-creatore di ChatGPT è diven...
Thales Alenia Space e ASI siglano un acc...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 14:33.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Served by www3v