IL codice in C gira sotto Linux 9.2, compilatore gcc.
Si tratta sempre di un client e server connessi tra loro tramite socket, con protocollo tcp.
qui riporto la parte del server con la struttura if:
purtroppo nn so perchè questo nn funziona :codice:char x[1024],y[1024]; unsigned char z,w; char buf[1024]; char buf2[1024]; do { send(ds_sock_acc,"\nInserisci fila :",20,0); recv(ds_sock_acc,&x,2,0); printf("%s",&x); if ((strcmp(x,"A")!=0)||(strcmp(x,"B")!=0)||(strcmp(x,"C")!=0)) { send(ds_sock_acc,"\nfila inesistente\n",30,0); } else (strcpy(buf,"fatto")); } while (strcmp(buf,"fatto")!=0);
if ((strcmp(x,"A")!=0)||(strcmp(x,"B")!=0)||(strcmp(x ,"C")!=0))
se inserisco dal client il carattere A o B o C comunque sia il sever spedisce il messaggio fila inesistente.
modificando cosi' riconosce invece ol carattere A:
if ((strcmp(x,"A")!=0)
{
send(ds_sock_acc,"\nfila inesistente\n",30,0);
}
ma ovviamente nn mi fa gli altri confronti
se modifico ulteriormente cosi
if ((strcmp(x,"A")!=0)
{
send(ds_sock_acc,"\nfila inesistente\n",30,0);
}
else if (strcmp(x,"B")!=0)
{
send(ds_sock_acc,"\nfila inesistente\n",30,0);
}
ritorno al problema iniziale qualsiasi carattrere invio da client poi il server spedisce il messaggio fila inesistente.
nn riesco a capire dove sia la magagna![]()

Rispondi quotando
