|
7 | 7 |
|
8 | 8 | #include <stdio.h> |
9 | 9 | #include <stdlib.h> |
| 10 | +#include <unistd.h> |
10 | 11 | #include <sys/types.h> |
11 | 12 | #include <sys/socket.h> |
12 | 13 | #include <netinet/in.h> |
13 | 14 |
|
14 | 15 | #define MAXLINE 1024 |
| 16 | +#define PORT 5035 |
15 | 17 |
|
16 | 18 | int main(){ |
17 | | - int socket_descriptor; |
18 | | - int n; |
19 | | - socklen_t length; |
20 | | - char sendline[MAXLINE],recvline[MAXLINE]; |
21 | | - struct sockaddr_in servaddr; |
| 19 | + // socket descriptor creation in udp mode |
| 20 | + int serverDescriptor = socket(AF_INET, SOCK_DGRAM, 0); |
| 21 | + |
| 22 | + // for storing address of address |
| 23 | + socklen_t addressLength; |
| 24 | + |
| 25 | + // preparing message |
| 26 | + char sendMessage[MAXLINE],recvMessage[MAXLINE]; |
22 | 27 | printf("\nEnter message :"); |
23 | | - scanf("%s",sendline); |
24 | | - socket_descriptor = socket(AF_INET,SOCK_DGRAM,0); |
25 | | - |
26 | | - servaddr.sin_family = AF_INET; |
27 | | - servaddr.sin_addr.s_addr = INADDR_ANY; |
28 | | - servaddr.sin_port = htons(5035); |
29 | | - |
30 | | -int isConnect = connect(socket_descriptor,(struct sockaddr*)&servaddr,sizeof(servaddr)); |
31 | | - |
32 | | -if(isConnect==-1){ |
33 | | - printf("\nNot connected"); |
34 | | -} |
35 | | - |
36 | | - length = sizeof(servaddr); |
37 | | - sendto(socket_descriptor,sendline,MAXLINE,0,(struct sockaddr*)&servaddr,length); |
38 | | - n=recvfrom(socket_descriptor,recvline,MAXLINE,0,NULL,NULL); |
39 | | - recvline[n]=0; |
40 | | - printf("\nServer's Echo : %s\n",recvline); |
| 28 | + fgets(sendMessage,sizeof(sendMessage),stdin); |
| 29 | + |
| 30 | + // storing address in serverAddress |
| 31 | + struct sockaddr_in serverAddress; |
| 32 | + serverAddress.sin_family = AF_INET; |
| 33 | + serverAddress.sin_addr.s_addr = INADDR_ANY; |
| 34 | + serverAddress.sin_port = htons(PORT); |
| 35 | + |
| 36 | + // storing address size |
| 37 | + addressLength = sizeof(serverAddress); |
| 38 | + |
| 39 | + // checking connection |
| 40 | + connect(serverDescriptor,(struct sockaddr*)&serverAddress,addressLength); |
| 41 | + |
| 42 | + // sending and receiving the messages |
| 43 | + sendto(serverDescriptor,sendMessage,MAXLINE,0,(struct sockaddr*)&serverAddress,addressLength); |
| 44 | + recvfrom(serverDescriptor,recvMessage,MAXLINE,0,NULL,NULL); |
| 45 | + |
| 46 | + printf("\nServer's Echo : %s\n",recvMessage); |
41 | 47 |
|
42 | 48 | return 0; |
43 | 49 | } |
0 commit comments