Originariamente inviato da oregon
Ma dove l'avevi scritto?![]()
Mi dispiace ma proprio non ho tempo per scrivere codice pronto per l'uso ... magari correggere o integrarne uno che mostri e non ti funziona, si puo' fare ...
E poi, dato che hai il server, perche' non prendi spunto da quello per tentare di scrivere il client? Un po' di impegno non guasterebbe ...
Guarda che non sono venuto su questo forum per farmi dare la pappa pronta. Il server è un file .exe quindi non ho il file c. E' due giorni che provo a fare questo programma e non riesco, considerando il fatto che è il mio programma che riguarda i socket. Cmq adesso vi metto il pezzo di programma che non funziona così magari qualcuno puà aiutarmi.
char buf[MAXBUFL+1],res[MAXBUFL+1],res1[MAXBUFL+1];
unsigned int n1,n2,r1,r2;
uint16_t n1n,n2n,r2r,r1r;
Readline(0,buf,sizeof(buf)); // leggo i due numeri da stdin e metto nel buffer buf
sscanf(buf,"%d %d", &n1,&n2); // estraggo i due numeri dal buffer buf
n1n=htons(n1); // li converto in formato di rete
n2n=htons(n2);
sprintf(buf,"%d %d",n1n,n2n); // li metto nel buf
Writen (sockfd, buf, 4); // scrivo sul socket i 4 byte(primo e secondo num.)
Readn(sockfd,res,3); // leggo dal socket i 3 byte che mi invia il server e metto in res
sscanf(res,"%d %d", &r1,&r2); //Estraggo i due numeri
r1r=ntohs(r1); // è lo stato dell'operazione
r2r=ntohs(r2); // è il risultato, li converto in formato di host
sprintf(res1,"%d %d\r\n",r1r,2r); // metto nel buffer res1
Writen (1, res1, 3); // stampo su stdout
Close(sockfd);
Lo stile di programmazione non è un granchè però vi ripeto sono all'inizio. Spero sia tutto chiaro.Grazie.