hai
unknown
plain_text
4 days ago
1.4 kB
1
Indexable
#include <stdio.h> #include <stdlib.h> #include <string.h> #include <unistd.h> #include <arpa/inet.h> #define PORT 5555 #define BUFFER_SIZE 1024 void receive_file(int new_socket) { char buffer[BUFFER_SIZE]; FILE *fp= fopen("/home/cse/Documents/received_file.txt","wb"); if(fp==NULL) { perror("error opening file"); return; } int bytes_received; while((bytes_received=recv(new_socket,buffer,BUFFER_SIZE,0))>0) { fwrite(buffer,sizeof(char),bytes_received,fp); } fclose(fp); printf("file received successfully.\n"); } int main() { int server_fd,new_socket; struct sockaddr_in server_addr,client_addr; socklen_t addr_size; server_fd=socket(AF_INET,SOCK_STREAM,0); if(server_fd==-1) { perror("socket creation failed"); exit(1); } server_addr.sin_family=AF_INET; server_addr.sin_addr.s_addr=INADDR_ANY; server_addr.sin_port=htons(PORT); if(bind(server_fd,(struct sockaddr*)&server_addr,sizeof(server_addr))<0) { perror("bind failed"); exit(1); } if (listen(server_fd,5)<0) { perror("listen failed"); exit(1); } printf("FTP serverlistening on port %d...\n",PORT); addr_size=sizeof(client_addr); new_socket=accept(server_fd,(struct sockaddr*)&client_addr,&addr_size); if(new_socket<0) { perror("accept failed"); exit(1); } printf("client connected.receiving file...\n"); receive_file(new_socket); close(new_socket); close(server_fd); return 0; }
Editor is loading...
Leave a Comment