Torna indietro   Hardware Upgrade Forum > Software > Programmazione

HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio
HUAWEI MatePad Air combina diverse carte molto interessanti: un OLED PaperMatte da 12 pollici, un corpo sottile e una tastiera molto comoda. Durante la prova abbiamo apprezzato fluidità, audio e comfort visivo, mentre i test hanno chiarito pregi e qualche limite nelle prestazioni. L'autonomia ha convinto anche nell'uso intermittente; la scelta passa dalla compatibilità delle proprie app e dal valore del pacchetto con accessori, proposto a 749 euro
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica
Debuttano ufficialmente i primi sistemi notebook basati su piattaforma NVIDIA RTX Spark, abbinati a Windows on ARM e pensati per l'intelligenza artificiale agentica. Architettura integrata tra CPU e GPU che condividono la memoria di sistema, capace di gestire in locale modelli molto grandi ma al contempo anche di spiccare con la grafica e l'elaborazione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Motorola razr fold, dalla conchiglia al formato a libro. La recensione
Abbiamo provato Motorola razr fold, il pieghevole a libro con display interno LTPO da 8,09 pollici, Snapdragon 8 Gen 5 e batteria da 6000 mAh in 243 grammi. Pennino e custodia sopno già nella confezione, per un foldable che si caratterizza per il pannello luminoso, l'autonomia ottima per la categoria e le fotocamere coerenti e ben sfruttabili. Il listino è di 1999 euro, ma in vendita si trova già a molto meno
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 09-04-2008, 09:18   #1
Daedrico
Junior Member
 
Iscritto dal: Apr 2008
Messaggi: 2
[C] Processo server/client (gestione in parallelo)

Anzitutto un ciao a tutti, visto che è la prima volta che posto qui =)
Ora passo direttamente al problema:
devo programmare sotto ambiente Linux un server con le seguenti caratteristiche
-il processo padre SRV genera SRV_1 e SRV_2, che gestiscono 2 canali tra loro e 2 client (CLI_1 e CLI_2)

1) SRV_X entra in ciclo e:
-riceve da CLI_X una sequenza di caratteri (max 5) terminata da '\n', che viene convertita in formato numerico (IDX)
-apre il file 'term.txt', legge il carattere alla posizione IDX, lo memorizza e chiude il file. Il char letto diventa CH_TERM
-riceve un'altra sequenza di caratteri (max 64), il cui ultimo carattere è il CH_TERM di cui sopra
-conta il numero di caratteri ricevuti in questo modo e reinvia al client il conteggio

2) Il ciclo termina quando SRV_X legge dal file un carattere CH_TERM corrispondente a 'q'
3) SRV_X chiude il canale
4) SRV chiude il canale usato e termina (senza aspettare il termine dei servizi)

Qui sotto riporto un sorgente buttato giù in fretta; sottolineo che ho pochissima dimestichezza con la funzione 'fork' e che non conosco i comandi per far aprire e scorrere un file.


Quote:
#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/socket>
#include <netinet/in.h>
#include <string.h>

#define MAXCONN 5
#define SRVPORT 37501

void addr_initialize(struct sockaddr_in *addr,int port, long ip){
addr->sin_family=AF_INET
.....
.....
}

int main(){
int sd,sd1,sd2,i,IDX,n,pid1,pid2;
struct sockaddr_in server,client1,client2;
int srvlen=sizeof(server);
int clilen1=sizeof(client1);
int clilen2=sizeof(client2);
char ch,lun[5],seq[64],CH_TERM;
char TERM='\n';

sd=socket(AF_INET,SOCK_STEAM,0);
if(sd==-1){
/* errore, chiudo connessione (non lo sto a scrivere ogni volta se no non finisco + ;p) */
}
bind(...);
listen(...);

sd1=accept(sd,(struct sockaddr_in*)&client1,clilen1);
if(...) /* solito controllo */

sd2=accept(sd,(struct sockaddr_in*)&client2,clilen2);
if(...) /* solito controllo */

pid1=fork();
pid2=fork();

if(pid1==0){
i=0;
do{
n=recv(sd1,&lun[i],1,0
}
if(...) /*controllo sulla receive*/
i++ }
while(lun[i-1]!=TERM);
IDX=atoi(lun); /*per convertire il numero di caratteri*/

/*a questo punto vuoto totale: devo fargli aprire il file, fargli leggere il char alla posizione IDX-esima; oltre a questo c'è il fatto che non so se l'uso della fork fosse corretto, nè se effettivamente i client verranno gestiti in parallelo..
il tutto poi lo riscriverei per gestire client2*/

}
Grazie per l'attenzione =)
Daedrico è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


HUAWEI MatePad Air recensione: OLED opaco e tastiera dedicata per lavorare meglio HUAWEI MatePad Air recensione: OLED opaco e tast...
NVIDIA RTX Spark: il PC Windows on ARM costruito per l'IA agentica NVIDIA RTX Spark: il PC Windows on ARM costruito...
Motorola razr fold, dalla conchiglia al formato a libro. La recensione Motorola razr fold, dalla conchiglia al formato ...
Recensione Google Pixel Watch 5: sembra lo stesso, ma al polso la differenza si sente Recensione Google Pixel Watch 5: sembra lo stess...
Nokia Innovation Day 2026: la sovranità europea passa dal mercato unico e dai laboratori italiani del gruppo Nokia Innovation Day 2026: la sovranità e...
La NASA annuncia alcuni aggiornamenti pe...
Meridian Space si separa da SpinLaunch e...
Gli astronomi hanno scoperto stelle che ...
Facebook cambia il feed: ora l'algoritmo...
I nuovi Vivo X500 potrebbero costare qua...
Due pallet di RTX 5090 spariti nel nulla...
Oral-B iO in offerta su Amazon: spazzoli...
Offerte TV su Amazon: LG OLED C6 a 1.139...
Offerte Apple su Amazon: AirPods Pro 3 a...
Le 12 offerte Amazon TOP del weekend: Sm...
Xiaomi Smart TV 32 è vera bestsel...
Il satellite spia russo Kosmos 2612 si t...
Blue Origin continua l'espansione: nuove...
Intel prepara un SoC da 700 TOPS: Razor ...
I nuovi Xreal 1 Pro+ arrivano in Europa ...
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: 02:08.


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