Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy?
Google Pixel 10 è uno smartphone che unisce una fotocamera molto più versatile rispetto al passato grazie allo zoom ottico 5x, il supporto magnetico Pixelsnap e il nuovo chip Tensor G5. Il dispositivo porta Android 16 e funzionalità AI avanzate come Camera Coach, mantenendo il design caratteristico della serie Pixel con miglioramenti nelle prestazioni e nell'autonomia. In Italia, però, mancano diverse feature peculiari basate sull'AI.
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre
L'abbonamento Ultimate di GeForce NOW ora comprende la nuova architettura Blackwell RTX con GPU RTX 5080 che garantisce prestazioni tre volte superiori alla precedente generazione. Non si tratta solo di velocità, ma di un'esperienza di gioco migliorata con nuove tecnologie di streaming e un catalogo giochi raddoppiato grazie alla funzione Install-to-Play
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco
Deebot X11 Omnicyclone implementa tutte le ultime tecnologie Ecovacs per l'aspirazione dei pavimenti di casa e il loro lavaggio, con una novità: nella base di ricarica non c'è più il sacchetto di raccolta dello sporco, sostituito da un aspirapolvere ciclonico che accumula tutto in un contenitore rigido
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 04-03-2009, 22:33   #1
f.bandiera
Member
 
Iscritto dal: Apr 2007
Messaggi: 51
[c] select in a while

Buonasera a tutti,
all'interno di un programma client/server che sto scrivendo ho riscontrato un comportamento che non mi aspettavo, devo studiare il caso, ma intanto ve lo presento:

la struttura è quella solita, socket (PF_INET), poi bind, listen e accept sul server, socket e connect dal clent.... tutto bene!
Gli indirizzi dell'uno e dell'altro vengono letti bene ecc.

A questo punto volevo ottenere il seguente comportamento:
1) Server: connessione persistente, gestione di 1 solo client (il prox step è il multiclient), capacità di soddisfare richieste multiple del client.
quindi ho messo tutta la routine di interpretazione e risposta alle richieste del client DOPO la accept all'interno di un bel ciclo "while (1)".

Quindi il comportamento che ritrovo è che i due si connettono, il client fa una richiesta, il server la soddisfa e si ri-mette in ascolto per la richiesta successiva.
E' poi il client che chiude la connessione (digito EXIT) quando decide l'utente.

A questo punto però volevo aggiungere una funzionalità, volevo che dopo 1 min di tempo di INATTIVITA' della socket, il SERVER decidesse di chiudere la socket e terminare.
FACILE (pensavo io) uso la select all'interno del ciclo while, così ogni volta che il server è in attesa di richieste dal client parte il countdown, se scade il tempo il server termina.

Perfetto! funziona ESATTAMENTE così..... AL PRIMO "GIRO" DEL WHILE, ovvero, la prima volta fa così, ma se io invio dal client un primo comando, il server risponde e poi DOVREBBE tornare alla select, ma questa volta (la select NON da errore) il programma non si mette correttamente in attesa.

Qualcun altro ha problemi (o ancor meglio soluzioni) di questo tipo?
E come le ha risolte?

Ciao
f.bandiera è offline   Rispondi citando il messaggio o parte di esso
Old 05-03-2009, 21:39   #2
f.bandiera
Member
 
Iscritto dal: Apr 2007
Messaggi: 51
scusate, credo proprio di aver commesso io un errore in una funzione che pregiudica la corretta implementazione di select().

Adesso vedo di fare qualche controllo, poi ci si risente.

Ciao.... per ora
f.bandiera è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Google Pixel 10 è compatto e ha uno zoom 5x a 899€: basta per essere un best-buy? Google Pixel 10 è compatto e ha uno zoom ...
Prova GeForce NOW upgrade Blackwell: il cloud gaming cambia per sempre Prova GeForce NOW upgrade Blackwell: il cloud ga...
Ecovacs Deebot X11 Omnicyclone: niente più sacchetto per lo sporco Ecovacs Deebot X11 Omnicyclone: niente più...
Narwal Flow: con il mocio orizzontale lava i pavimenti al meglio Narwal Flow: con il mocio orizzontale lava i pav...
Panasonic 55Z95BEG cala gli assi: pannello Tandem e audio senza compromessi Panasonic 55Z95BEG cala gli assi: pannello Tande...
Samsung Galaxy Watch8 Classic e Watch7 a...
Blue Origin prosegue lo sviluppo di Blue...
Roborock Saros 10 e 10R dominano il merc...
Apple scatenata su Amazon: tutti gli sco...
Canon EOS C50 è la nuova videocam...
ASUS ProArt P16 arriva in Italia: la wor...
Fujifilm presenta l'obiettivo FUJINON GF...
Il grafene ha appena 'infranto' una legg...
Metroid Prime Beyond: arriva un trailer ...
Fujifilm GFX Eterna 55: una soluzione co...
Stardew Valley arriva su Switch 2: una c...
E-bike fat legale con "pulsante mag...
Nintendo Virtual Boy: l'accessorio per S...
Popucom si presenta come uno dei miglior...
Super Mario Galaxy il film: l'idraulico ...
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: 09:38.


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