Professional Documents
Culture Documents
21bce1068 Lab1 Crypto
21bce1068 Lab1 Crypto
21bce1068 Lab1 Crypto
LAB 1
CLIENT
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
int main() {
int clientSocket;
struct sockaddr_in serverAddr;
char buffer[MAX_BUFFER_SIZE];
// Create socket
clientSocket = socket(AF_INET, SOCK_STREAM, 0);
if (clientSocket < 0) {
perror("Error in socket creation");
exit(1);
}
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = inet_addr("127.0.0.1");
serverAddr.sin_port = htons(PORT);
// Connect to server
if (connect(clientSocket, (struct sockaddr *)&serverAddr, sizeof(serverAddr)) < 0) {
perror("Error in connecting to server");
exit(1);
}
while (1) {
ssize_t bytesRead = recv(clientSocket, buffer, sizeof(buffer), 0);
if (bytesRead < 0) {
perror("Error in receiving file");
exit(1);
}
if (bytesRead == 0)
break;
return 0;
}
SERVER
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <unistd.h>
#include <arpa/inet.h>
int main() {
int serverSocket, clientSocket;
struct sockaddr_in serverAddr, clientAddr;
socklen_t addrSize;
FILE *fileptr;
char buffer[MAX_BUFFER_SIZE];
// Create socket
serverSocket = socket(AF_INET, SOCK_STREAM, 0);
if (serverSocket < 0) {
perror("Error in socket creation");
exit(1);
}
serverAddr.sin_family = AF_INET;
serverAddr.sin_addr.s_addr = INADDR_ANY;
serverAddr.sin_port = htons(PORT);
addrSize = sizeof(clientAddr);
// Accept connection from client
clientSocket = accept(serverSocket, (struct sockaddr *)&clientAddr, &addrSize);
if (clientSocket < 0) {
perror("Error in accepting connection");
exit(1);
}
printf("Client connected\n");
return 0;
}
OUTPUT