Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <sys/types.h>
- #include <sys/socket.h>
- #include <netinet/in.h>
- #include <arpa/inet.h>
- #include <unistd.h>
- int main(int argc, char *argv[])
- {
- int port = 22;
- char IP[]="10.42.43.81";
- char risp[410000];
- FILE *fp;
- int i,e=1;
- int server, err, byte;
- struct sockaddr_in server_addr;
- char buffer[]="GET /var/mobile/Media/DCIM/100APPLE/IMG_0298.PNG HTTP/1.1\r\nHost: 10.42.43.81 \r\n\r\n";
- // Creazione del socket
- server = socket(AF_INET, SOCK_STREAM, 0);
- // Struttura relativa alle informazioni sul Server
- server_addr.sin_family = AF_INET;
- server_addr.sin_port = htons(port); //htons ---> host-order to network-order
- server_addr.sin_addr.s_addr = inet_addr(IP); // inet_addr converte da dotted_decimal in network-order
- printf("\n\nConnessione in corso...\n");
- // La funzione connect() restituisce un codice di errore
- err = connect (server, (struct sockaddr *)&server_addr, sizeof(server_addr));
- if(err == 0)
- {
- printf ("Connessione avvenuta\n");
- send (server,buffer,sizeof(buffer),0);
- fp=fopen("image.png","w+");
- if (fp == NULL) printf ("Errore creazione file\n");
- else {
- int flag=1;
- //**************** problema :@
- while(e=recv (server, risp, sizeof(risp), 0)) {
- if (e<0) break; else {
- for (i=0;i<e;i++) {
- if (risp[i] == '\n' && flag!=5) flag++;
- //usleep(200);
- if (flag==5)
- fprintf(fp,"%c",risp[i]);
- }
- }
- }
- //***************************
- fclose(fp);
- }
- //printf ("n:%d\n",n);
- //printf ("\nServer: %s", risp);
- }
- else
- {
- perror (buffer);
- }
- printf("\n\n");
- // Chiusura socket
- close(server);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement