Server:
codice:
[...]
void str_srv_echo(int sockd)
{
int n,file,ff;
char line[MAXLINE];
char buf[MAXBUFFLEN+1];
while(1) {
if ((n = recv(sockd, line, MAXLINE,0)) == 0)
return; /* il client ha chiuso la connessione e inviato EOF */
printf("%s__\n",line);
if(file = open(line,O_RDONLY)==-1) {
printf("[%u] Error Opening file\n",file);
// exit(1);
}
else printf("[%u] Opening file\n",file);
while(ff=read(file,buf,MAXBUFFLEN)>0) {
printf("Reading frome file\n");
if (send(sockd, buf, ff,0) != n) {
fprintf(stderr, "errore in write");
exit(1);
}
}
}
}
Client:
codice:
[...]
void str_cli_echo(char* file, int sockfd) {
int fout,n;
char buf[MAXBUFFLEN+1];
if(write(sockfd,file,MAXBUFFLEN)<0) {
perror("Errore in write");
exit(1);
}
if((fout=open(file,O_WRONLY|O_CREAT|O_TRUNC,S_IRUSR|S_IWUSR|S_IRGRP|S_IROTH)) == -1) {
perror("open output");
exit(1);
}
while((n=read(sockfd,buf,MAXBUFFLEN)) > 0) {
if(write(fout,buf,n) < n) {
perror("open output");
exit(1);
}
}
if(n < 0) {
perror("read");
exit(1);
}
}
Sicuramente c'è qualcosa che non va!! Ho lanciato il prog ma non mi trasferisce nessun file!! Se non esiste lo crea ma non ci scrive nulla!!
Suggerimenti??