Bom dia a todos,
Pessoal tenho aqui em c++ um programa que usa o protocolo TCP/IP.
Ja tenho um cliente e um servidor criados..mas queria transportar a informação de um ficheiro enviado pelo cliente para o servidor..
Também ja faz isso mas passa-se o seguinte:
O que eu envio por vezes aparece repetido no lado do servidor, e gostava que o servidor ao guardar, guardasse o ficheiro exactamente no formato em que vem.
Penso que tenho de criar uma espera de uns milisegundos pa resolver esta questao do envio repetido de algumas strings nao?
a parte do codigo que guarda é p seguinte:
int h=0;
...
...
int file = recv(qual_socket,s,255,0);
if(file == SOCKET_ERROR)
msg_err_exit("recv() falhou\n");
printf("%s: %s\n", inet_ntoa(endereco.sin_addr), s);//o s, contem o //nome do ficheiro a ser enviado do lado do cliente,ou seja, é o conteudo do //ficheiro
FILE *fp;
fp= fopen("dados.txt","a");
fprintf(fp,"%s\t",s);
h++;
if(h==5) // aqui este h=5 serve para criar as 6colunas para //ficar no mesmo formato que esta no ficheiro que esta a ser enviado
{
fprintf(fp,"%s\n",s);
h=0;
}
fclose(fp);
Alguem se sente à vontade e sabe como ajudar?
Abraço
Pessoal tenho aqui em c++ um programa que usa o protocolo TCP/IP.
Ja tenho um cliente e um servidor criados..mas queria transportar a informação de um ficheiro enviado pelo cliente para o servidor..
Também ja faz isso mas passa-se o seguinte:
O que eu envio por vezes aparece repetido no lado do servidor, e gostava que o servidor ao guardar, guardasse o ficheiro exactamente no formato em que vem.
Penso que tenho de criar uma espera de uns milisegundos pa resolver esta questao do envio repetido de algumas strings nao?
a parte do codigo que guarda é p seguinte:
int h=0;
...
...
int file = recv(qual_socket,s,255,0);
if(file == SOCKET_ERROR)
msg_err_exit("recv() falhou\n");
printf("%s: %s\n", inet_ntoa(endereco.sin_addr), s);//o s, contem o //nome do ficheiro a ser enviado do lado do cliente,ou seja, é o conteudo do //ficheiro
FILE *fp;
fp= fopen("dados.txt","a");
fprintf(fp,"%s\t",s);
h++;
if(h==5) // aqui este h=5 serve para criar as 6colunas para //ficar no mesmo formato que esta no ficheiro que esta a ser enviado
{
fprintf(fp,"%s\n",s);
h=0;
}
fclose(fp);
Alguem se sente à vontade e sabe como ajudar?
Abraço