Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 20-12-2011, 13:25   #1
Sangio
Member
 
Iscritto dal: Sep 2005
Messaggi: 218
[C] - SOCKET SELECT CHAT SOWFTWARE

Ciao a tutti, ho realizzato per un progetto universitario un server che gestisca (tramite le socket) in ambiente windows , diverse connessioni in lettura/scrittura per un servizio di chat.
Ogni client all' avvio da come parametro un numero da 1 a 9 che indica quale PC sta usando e può scrivere / ricevere messaggi indicando un destinatario (pcX con X= ad un numero) ed un testo.
Per la parte client ho usato due programmi, da avviare in parallelo, client-send e client-recv , in uno ho il continuo prompt per scrivere msg, salvarli in un buffer ed inviarli al server(che li recapita), nell' altro ho continue recv per mostrare a video mittente e messaggi ricevuti.

Per ultimare il progetto dovrei unire i due programmi in uno solo, se stessi usando Unix userei dei p_thread e la chiamata fork(). in ambiente Windows non so come comportarmi, di seguito riporto i 2 programmi client-send e client-recv, qualcuno di voi ha voglia di darmi una mano?
grazie infinite!

CLIENT SEND

int sd,status,addrlen=sizeof(struct sockaddr_in);
struct sockaddr_in server;
char buffer[80];
char dest[5];
char ok[3];
char role[5]={"send"};
server.sin_family=PF_INET;
server.sin_addr.s_addr=inet_addr("172.25.14.47");
server.sin_port=htons(atoi("4000"));

sd=socket(PF_INET,SOCK_STREAM,0);
status = connect(sd,(struct sockaddr*)&server,addrlen);
status = send(sd,argv[1],2,0);
send(sd,role,5,0);
while(1){
printf("@: ");
scanf("%s",dest);
send(sd,dest,5,0);
if(strcmp(dest,"quit")==0)
break;
recv(sd,ok,3,0);
if(strcmp(ok,"ok")!=0) {
printf("Destinatario NON corretto.\n");
continue;
}
printf(": "); // RICHIESTA DEL TESTO
getchar();
gets(buffer);
send(sd,buffer,80,0);
status = recv(sd,ok,3,0);
if(status<0) {
printf("Server disconnesso.\n");
break;
}
if(strcmp(ok,"ok")!=0)
printf("Errore!\n");

}


CLIENT RECV

int sd,status,addrlen=sizeof(struct sockaddr_in),result;
struct sockaddr_in server;
char buffer[80];
char mitt[5];
char role[5]={"recv"};
server.sin_family=PF_INET;
server.sin_addr.s_addr=inet_addr("172.25.14.47");
server.sin_port=htons(atoi("4000"));

sd=socket(PF_INET,SOCK_STREAM,0);
status = connect(sd,(struct sockaddr*)&server,addrlen);
status = send(sd,argv[1],2,0);
send(sd,role,5,0);
while(1){
result = recv(sd,mitt,5,0);
recv(sd,buffer,80,0);
if(result<0) {
printf("Server disconnesso!.\n");
break;
}
printf("%s : %s.\n",mitt,buffer);
}


ho tralasciato le librerie/int main e le WSAStartup per semplicità e brevità del msg.
GRAZIE DI NUOVO ;-)
Sangio è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
XIAOMI Redmi Buds 8 a 37,94€: auricolari...
Il fotovoltaico scende sott'acqua: nuove...
Microsoft chiede supervisione umana nell...
MicroSD Samsung T9 da 256GB a 65,88€: sc...
Una RTX 3090 e nessuna riga di codice: Q...
Windows e Excel di nuovo nel caos dopo i...
Nuovi Samsung Galaxy S26 FE ora disponib...
EU Kids Act: una legge per riscrivere l'...
IonQ annuncia Superion 256, un computer ...
Tesla Semi arriva in Europa: fino a 500 ...
realme 16 Pro Harry Potter Edition &egra...
Siri potrebbe permettere di scegliere tr...
OpenAI acquisisce Glass Imaging per oltr...
Steam Deck 2: Valve non trova ancora il ...
Dreame T15 Pro Heat, aspira la polvere e...
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: 11:02.


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