Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
apsrcreatix
GitHub Repository: apsrcreatix/Socket-Programming-With-C
Path: blob/master/08-file-transfer-protocol/client.c
137 views
1
/*
2
* Title : File Transfer Protocol
3
* Name : Aditya Pratap Singh Rajput
4
* Subject : Network Protocols And Programming using C
5
*
6
Note : Please consider the TYPOS in comments.
7
Thanks.
8
*/
9
10
#include "stdio.h"
11
#include "stdlib.h"
12
#include "string.h"
13
//headers for socket and related functions
14
#include <sys/types.h>
15
#include <sys/socket.h>
16
#include <sys/stat.h>
17
//for including structures which will store information needed
18
#include <netinet/in.h>
19
#include <unistd.h>
20
//for gethostbyname
21
#include "netdb.h"
22
#include "arpa/inet.h"
23
24
// defining constants
25
#define PORT 9002
26
27
int main()
28
{
29
30
int serverDescriptor = socket(AF_INET, SOCK_STREAM, 0);
31
struct sockaddr_in serverAddress;
32
33
char buffer[100], file[1000];
34
35
bzero(&serverAddress, sizeof(serverAddress));
36
serverAddress.sin_family = AF_INET;
37
serverAddress.sin_addr.s_addr = inet_addr("127.0.0.1");
38
serverAddress.sin_port = htons(PORT);
39
40
connect(serverDescriptor,(struct sockaddr*)&serverAddress,sizeof(serverAddress));
41
42
while (1){
43
printf("File name : ");
44
scanf("%s",buffer);
45
send(serverDescriptor,buffer,strlen(buffer)+1,0);
46
printf("%s\n","File Output : ");
47
recv(serverDescriptor,&file,sizeof(file),0);
48
printf("%s",file);
49
}
50
return 0;
51
}
52