Untitled

 avatar
unknown
plain_text
5 days ago
2.8 kB
1
Indexable
//clienyt side


#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 Server listening 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;
}



///server side

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>

#define PORT 5555
#define BUFFER_SIZE 1024

void send_file(int socket) {
    FILE *fp = fopen("/home/cse/Documents/send.txt", "rb");
    if (fp == NULL) {
        perror("File not found");
        return;
    }

    char buffer[BUFFER_SIZE];
    int bytes_read;
    while ((bytes_read = fread(buffer, sizeof(char), BUFFER_SIZE, fp)) > 0) {
        send(socket, buffer, bytes_read, 0);
    }

    fclose(fp);
    printf("File sent successfully. Oyyehh\n");
}

int main() {
    int sock;
    struct sockaddr_in server_addr;

    sock = socket(AF_INET, SOCK_STREAM, 0);
    if (sock == -1) {
        perror("Socket creation failed");
        exit(1);
    }

    server_addr.sin_family = AF_INET;
    server_addr.sin_port = htons(PORT);
    server_addr.sin_addr.s_addr = inet_addr("127.0.0.1"); // Server IP

    if (connect(sock, (struct sockaddr*)&server_addr, sizeof(server_addr)) < 0) {
        perror("Connection failed");
        exit(1);
    }

    printf("Connected to FTP server. Sending file...\n");
    send_file(sock);

    close(sock);
    return 0;
}
Editor is loading...
Leave a Comment