Untitled
unknown
plain_text
8 months ago
2.8 kB
3
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